brighterscript 0.71.0 → 0.72.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 (94) hide show
  1. package/bsconfig.schema.json +13 -0
  2. package/dist/BsConfig.d.ts +35 -5
  3. package/dist/CodeActionUtil.d.ts +17 -0
  4. package/dist/CodeActionUtil.js.map +1 -1
  5. package/dist/DiagnosticMessages.d.ts +6 -1
  6. package/dist/DiagnosticMessages.js +5 -0
  7. package/dist/DiagnosticMessages.js.map +1 -1
  8. package/dist/LanguageServer.d.ts +15 -2
  9. package/dist/LanguageServer.js +100 -7
  10. package/dist/LanguageServer.js.map +1 -1
  11. package/dist/Program.d.ts +76 -1
  12. package/dist/Program.js +215 -2
  13. package/dist/Program.js.map +1 -1
  14. package/dist/Scope.d.ts +53 -7
  15. package/dist/Scope.js +28 -66
  16. package/dist/Scope.js.map +1 -1
  17. package/dist/ScopeNamespaceLookup.d.ts +73 -0
  18. package/dist/ScopeNamespaceLookup.js +240 -0
  19. package/dist/ScopeNamespaceLookup.js.map +1 -0
  20. package/dist/SymbolTable.d.ts +9 -2
  21. package/dist/SymbolTable.js +10 -5
  22. package/dist/SymbolTable.js.map +1 -1
  23. package/dist/bscPlugin/BscPlugin.d.ts +3 -1
  24. package/dist/bscPlugin/BscPlugin.js +8 -0
  25. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  26. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -4
  27. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  28. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
  29. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
  30. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
  31. package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
  32. package/dist/bscPlugin/codeActions/codeActionHelpers.js +29 -0
  33. package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
  34. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
  35. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +74 -0
  36. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
  37. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +1 -0
  38. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +298 -0
  39. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +1 -0
  40. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +2 -0
  41. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +49 -4
  42. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
  43. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +13 -0
  44. package/dist/bscPlugin/validation/BrsFileValidator.js +42 -0
  45. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  46. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +101 -0
  47. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  48. package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
  49. package/dist/bscPlugin/validation/ScopeValidator.js +69 -0
  50. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  51. package/dist/files/BrsFile.d.ts +15 -0
  52. package/dist/files/BrsFile.js +88 -5
  53. package/dist/files/BrsFile.js.map +1 -1
  54. package/dist/files/BrsFile.spec.js +156 -3
  55. package/dist/files/BrsFile.spec.js.map +1 -1
  56. package/dist/interfaces.d.ts +51 -1
  57. package/dist/lsp/DocumentManager.spec.js +1 -1
  58. package/dist/lsp/DocumentManager.spec.js.map +1 -1
  59. package/dist/lsp/LspProject.d.ts +30 -1
  60. package/dist/lsp/Project.d.ts +19 -1
  61. package/dist/lsp/Project.js +98 -2
  62. package/dist/lsp/Project.js.map +1 -1
  63. package/dist/lsp/Project.spec.js +146 -9
  64. package/dist/lsp/Project.spec.js.map +1 -1
  65. package/dist/lsp/ProjectManager.d.ts +38 -2
  66. package/dist/lsp/ProjectManager.js +116 -4
  67. package/dist/lsp/ProjectManager.js.map +1 -1
  68. package/dist/lsp/ProjectManager.spec.js +236 -1
  69. package/dist/lsp/ProjectManager.spec.js.map +1 -1
  70. package/dist/lsp/worker/WorkerThreadProject.d.ts +13 -2
  71. package/dist/lsp/worker/WorkerThreadProject.js +9 -0
  72. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  73. package/dist/lsp/worker/WorkerThreadProject.spec.js +2 -1
  74. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
  75. package/dist/parser/Parser.d.ts +10 -0
  76. package/dist/parser/Parser.js +18 -3
  77. package/dist/parser/Parser.js.map +1 -1
  78. package/dist/parser/Parser.spec.js +111 -0
  79. package/dist/parser/Parser.spec.js.map +1 -1
  80. package/dist/parser/TranspileState.d.ts +4 -2
  81. package/dist/parser/TranspileState.js +3 -3
  82. package/dist/parser/TranspileState.js.map +1 -1
  83. package/dist/parser/tests/expression/Call.spec.js +4 -5
  84. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  85. package/dist/parser/tests/expression/Function.spec.js +2 -2
  86. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  87. package/dist/parser/tests/statement/ConstStatement.spec.js +218 -1
  88. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  89. package/dist/parser/tests/statement/Enum.spec.js +2 -0
  90. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  91. package/dist/util.d.ts +26 -0
  92. package/dist/util.js +68 -0
  93. package/dist/util.js.map +1 -1
  94. package/package.json +4 -2
@@ -5,6 +5,7 @@ const ProgramBuilder_1 = require("../ProgramBuilder");
5
5
  const EventEmitter = require("eventemitter3");
6
6
  const util_1 = require("../util");
7
7
  const path = require("path");
8
+ const reflection_1 = require("../astUtils/reflection");
8
9
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
9
10
  const vscode_uri_1 = require("vscode-uri");
10
11
  const deferred_1 = require("../deferred");
@@ -93,8 +94,6 @@ class Project {
93
94
  if (this.bsconfigPath && path.basename(this.bsconfigPath) === 'brsconfig.json') {
94
95
  this.builder.addDiagnostic(this.bsconfigPath, Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.brsConfigJsonIsDeprecated()), { range: util_1.default.createRange(0, 0, 0, 0) }));
95
96
  }
96
- //trigger a validation (but don't wait for it. That way we can cancel it sooner if we get new incoming data or requests)
97
- void this.validate();
98
97
  this.activationDeferred.resolve();
99
98
  return {
100
99
  bsconfigPath: this.bsconfigPath,
@@ -347,6 +346,96 @@ class Project {
347
346
  return this.builder.program.getReferences(options.srcPath, options.position);
348
347
  }
349
348
  }
349
+ async getFileRenameEdits(options) {
350
+ var _a, _b, _c, _d, _e, _f;
351
+ await this.onIdle();
352
+ const oldFile = this.builder.program.getFile(options.oldSrcPath);
353
+ if (!oldFile) {
354
+ return [];
355
+ }
356
+ const programOptions = this.builder.program.options;
357
+ const newPkgPath = this.computePkgPathForNewSrcPath(options.newSrcPath, programOptions);
358
+ if (!newPkgPath) {
359
+ return [];
360
+ }
361
+ const oldPkgPath = util_1.default.standardizePath(oldFile.pkgPath).toLowerCase();
362
+ //if the rename doesn't change the pkg path, nothing to do
363
+ if (oldPkgPath === newPkgPath.toLowerCase()) {
364
+ return [];
365
+ }
366
+ const result = [];
367
+ for (const file of Object.values(this.builder.program.files)) {
368
+ if ((0, reflection_1.isBrsFile)(file)) {
369
+ for (const importStatement of (_c = (_b = (_a = file.parser) === null || _a === void 0 ? void 0 : _a.references) === null || _b === void 0 ? void 0 : _b.importStatements) !== null && _c !== void 0 ? _c : []) {
370
+ if (!importStatement.filePathToken || !importStatement.filePath) {
371
+ continue;
372
+ }
373
+ const resolvedPkgPath = util_1.default.getPkgPathFromTarget(file.pkgPath, importStatement.filePath);
374
+ if (!resolvedPkgPath || util_1.default.standardizePath(resolvedPkgPath).toLowerCase() !== oldPkgPath) {
375
+ continue;
376
+ }
377
+ const newText = util_1.default.computeRenamedReferencePath(importStatement.filePath, file.pkgPath, newPkgPath);
378
+ if (newText === null) {
379
+ continue;
380
+ }
381
+ result.push({
382
+ uri: util_1.default.pathToUri(file.srcPath),
383
+ range: importStatement.filePathToken.range,
384
+ newText: newText
385
+ });
386
+ }
387
+ }
388
+ else if ((0, reflection_1.isXmlFile)(file)) {
389
+ for (const scriptTag of (_f = (_e = (_d = file.parser) === null || _d === void 0 ? void 0 : _d.references) === null || _e === void 0 ? void 0 : _e.scriptTagImports) !== null && _f !== void 0 ? _f : []) {
390
+ if (!scriptTag.filePathRange || !scriptTag.text) {
391
+ continue;
392
+ }
393
+ const resolvedPkgPath = util_1.default.getPkgPathFromTarget(file.pkgPath, scriptTag.text);
394
+ if (!resolvedPkgPath || util_1.default.standardizePath(resolvedPkgPath).toLowerCase() !== oldPkgPath) {
395
+ continue;
396
+ }
397
+ const newText = util_1.default.computeRenamedReferencePath(scriptTag.text, file.pkgPath, newPkgPath);
398
+ if (newText === null) {
399
+ continue;
400
+ }
401
+ result.push({
402
+ uri: util_1.default.pathToUri(file.srcPath),
403
+ range: scriptTag.filePathRange,
404
+ newText: newText
405
+ });
406
+ }
407
+ }
408
+ }
409
+ return result;
410
+ }
411
+ /**
412
+ * Determine the pkg path for a (not-yet-existing) renamed file. Tries the project's `files` glob first
413
+ * so custom dest mappings keep working, and falls back to a plain rootDir-relative path so renames into
414
+ * folders that aren't yet in the glob still get their imports rewritten.
415
+ * Returns undefined if the new path is outside this project's rootDir.
416
+ */
417
+ computePkgPathForNewSrcPath(newSrcPath, programOptions) {
418
+ if (!programOptions.rootDir) {
419
+ return undefined;
420
+ }
421
+ const destFromGlob = roku_deploy_1.rokuDeploy.getDestPath(newSrcPath, programOptions.files, programOptions.rootDir);
422
+ if (destFromGlob) {
423
+ return util_1.default.standardizePath(destFromGlob);
424
+ }
425
+ const rootDir = util_1.default.standardizePath(programOptions.rootDir);
426
+ const newSrc = util_1.default.standardizePath(newSrcPath);
427
+ const rootPrefix = rootDir.endsWith(path.sep) ? rootDir : rootDir + path.sep;
428
+ if (!newSrc.toLowerCase().startsWith(rootPrefix.toLowerCase())) {
429
+ return undefined;
430
+ }
431
+ return newSrc.substring(rootPrefix.length);
432
+ }
433
+ async getSelectionRanges(options) {
434
+ await this.onIdle();
435
+ if (this.builder.program.hasFile(options.srcPath)) {
436
+ return this.builder.program.getSelectionRanges(options.srcPath, options.positions);
437
+ }
438
+ }
350
439
  async getCodeActions(options) {
351
440
  var _a;
352
441
  await this.onIdle();
@@ -361,6 +450,12 @@ class Project {
361
450
  return codeActions;
362
451
  }
363
452
  }
453
+ async getSourceFixAllCodeActions(options) {
454
+ await this.onIdle();
455
+ if (this.builder.program.hasFile(options.srcPath)) {
456
+ return this.builder.program.getSourceFixAllCodeActions(options.srcPath);
457
+ }
458
+ }
364
459
  async getCompletions(options) {
365
460
  await this.onIdle();
366
461
  this.logger.debug('Project.getCompletions', options.srcPath, options.position);
@@ -424,6 +519,7 @@ class Project {
424
519
  }
425
520
  dispose() {
426
521
  var _a, _b, _c, _d;
522
+ this.cancelValidate();
427
523
  for (let disposable of (_a = this.disposables) !== null && _a !== void 0 ? _a : []) {
428
524
  (_b = disposable === null || disposable === void 0 ? void 0 : disposable.dispose) === null || _b === void 0 ? void 0 : _b.call(disposable);
429
525
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/lsp/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/lsp/Project.ts"],"names":[],"mappings":"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"}
@@ -48,13 +48,8 @@ describe('Project', () => {
48
48
  workspaceFolder: testHelpers_spec_1.rootDir,
49
49
  enableThreading: false
50
50
  });
51
- //wait for the first validate to finish
52
- await new Promise((resolve) => {
53
- const off = project.on('validate-end', () => {
54
- off();
55
- resolve();
56
- });
57
- });
51
+ //explicitly trigger and wait for the first validation
52
+ await project.validate();
58
53
  let validationCount = 0;
59
54
  let maxValidationCount = 0;
60
55
  //force validation cycles to yield very frequently
@@ -86,6 +81,25 @@ describe('Project', () => {
86
81
  (0, chai_1.expect)(maxValidationCount).to.eql(1);
87
82
  });
88
83
  });
84
+ describe('dispose', () => {
85
+ it('cancels in-flight validation on dispose', async () => {
86
+ await project.activate({
87
+ projectKey: testHelpers_spec_1.rootDir,
88
+ projectDir: testHelpers_spec_1.rootDir,
89
+ bsconfigPath: undefined,
90
+ workspaceFolder: testHelpers_spec_1.rootDir,
91
+ enableThreading: false
92
+ });
93
+ const cancelSpy = sinon.spy(project, 'cancelValidate');
94
+ //start a validation (don't await it)
95
+ const validatePromise = project.validate();
96
+ //dispose mid-validation
97
+ project.dispose();
98
+ (0, chai_1.expect)(cancelSpy.called).to.be.true;
99
+ //the validate promise should still resolve (not hang)
100
+ await validatePromise;
101
+ });
102
+ });
89
103
  describe('activate', () => {
90
104
  it('uses `files` from bsconfig.json', async () => {
91
105
  fsExtra.outputJsonSync(`${testHelpers_spec_1.rootDir}/bsconfig.json`, {
@@ -106,7 +120,7 @@ describe('Project', () => {
106
120
  workspaceFolder: undefined,
107
121
  bsconfigPath: undefined
108
122
  });
109
- await (0, testHelpers_spec_1.once)(project, 'diagnostics');
123
+ await project.validate();
110
124
  (0, testHelpers_spec_1.expectDiagnostics)(project, [
111
125
  DiagnosticMessages_1.DiagnosticMessages.cannotFindName('alpha').message
112
126
  ]);
@@ -183,6 +197,129 @@ describe('Project', () => {
183
197
  }]))[0].status).to.eql('rejected');
184
198
  });
185
199
  });
200
+ describe('getFileRenameEdits', () => {
201
+ async function activateBareProject() {
202
+ await project.activate({
203
+ projectDir: testHelpers_spec_1.rootDir,
204
+ projectKey: undefined,
205
+ workspaceFolder: undefined,
206
+ bsconfigPath: undefined
207
+ });
208
+ }
209
+ it('rewrites a pkg:/ import that points at the renamed file', async () => {
210
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
211
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `import "pkg:/source/lib.bs"`);
212
+ await activateBareProject();
213
+ const edits = await project.getFileRenameEdits({
214
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
215
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib2.bs`
216
+ });
217
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
218
+ (0, chai_1.expect)(edits[0].uri).to.eql(util_1.default.pathToUri((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`));
219
+ (0, chai_1.expect)(edits[0].newText).to.eql('pkg:/source/lib2.bs');
220
+ });
221
+ it('rewrites a relative import to a same-folder rename', async () => {
222
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
223
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `import "lib.bs"`);
224
+ await activateBareProject();
225
+ const edits = await project.getFileRenameEdits({
226
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
227
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib2.bs`
228
+ });
229
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
230
+ (0, chai_1.expect)(edits[0].newText).to.eql('lib2.bs');
231
+ });
232
+ it('rewrites a relative import that crosses folders', async () => {
233
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
234
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/main.bs`, `import "../source/lib.bs"`);
235
+ await activateBareProject();
236
+ const edits = await project.getFileRenameEdits({
237
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
238
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/utils/lib.bs`
239
+ });
240
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
241
+ (0, chai_1.expect)(edits[0].newText).to.eql('../utils/lib.bs');
242
+ });
243
+ it('returns no edits when no file imports the renamed file', async () => {
244
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
245
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `sub main():end sub`);
246
+ await activateBareProject();
247
+ const edits = await project.getFileRenameEdits({
248
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
249
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib2.bs`
250
+ });
251
+ (0, chai_1.expect)(edits).to.be.empty;
252
+ });
253
+ it('returns no edits when the renamed file is not in this project', async () => {
254
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `import "pkg:/source/lib.bs"`);
255
+ await activateBareProject();
256
+ const edits = await project.getFileRenameEdits({
257
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/notInProject.bs`,
258
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/notInProject2.bs`
259
+ });
260
+ (0, chai_1.expect)(edits).to.be.empty;
261
+ });
262
+ it('produces an edit range that excludes the surrounding quotes', async () => {
263
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
264
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `import "lib.bs"`);
265
+ await activateBareProject();
266
+ const edits = await project.getFileRenameEdits({
267
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
268
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib2.bs`
269
+ });
270
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
271
+ //the file content is exactly: import "lib.bs"
272
+ //the path token starts at character 8 (the `l`) and ends at character 14 (after the `s` of `bs`)
273
+ (0, chai_1.expect)(edits[0].range.start.character).to.eql(8);
274
+ (0, chai_1.expect)(edits[0].range.end.character).to.eql(14);
275
+ });
276
+ it('rewrites a relative <script uri> tag in an xml file', async () => {
277
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.brs`, '');
278
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.xml`, `<?xml version="1.0" encoding="utf-8"?>
279
+ <component name="Widget" extends="Group">
280
+ <script type="text/brightscript" uri="widget.brs" />
281
+ </component>`);
282
+ await activateBareProject();
283
+ const edits = await project.getFileRenameEdits({
284
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.brs`,
285
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget2.brs`
286
+ });
287
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
288
+ (0, chai_1.expect)(edits[0].uri).to.eql(util_1.default.pathToUri((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.xml`));
289
+ (0, chai_1.expect)(edits[0].newText).to.eql('widget2.brs');
290
+ });
291
+ it('rewrites a pkg:/ <script uri> tag in an xml file', async () => {
292
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/util.brs`, '');
293
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.xml`, `<?xml version="1.0" encoding="utf-8"?>
294
+ <component name="Widget" extends="Group">
295
+ <script type="text/brightscript" uri="pkg:/source/util.brs" />
296
+ </component>`);
297
+ await activateBareProject();
298
+ const edits = await project.getFileRenameEdits({
299
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/util.brs`,
300
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/utility.brs`
301
+ });
302
+ (0, chai_1.expect)(edits).to.have.lengthOf(1);
303
+ (0, chai_1.expect)(edits[0].newText).to.eql('pkg:/source/utility.brs');
304
+ });
305
+ it('emits both the import-statement edit and the xml script-tag edit when both reference the renamed file', async () => {
306
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`, '');
307
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`, `import "pkg:/source/lib.bs"`);
308
+ fsExtra.outputFileSync((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.xml`, `<?xml version="1.0" encoding="utf-8"?>
309
+ <component name="Widget" extends="Group">
310
+ <script type="text/brightscript" uri="pkg:/source/lib.bs" />
311
+ </component>`);
312
+ await activateBareProject();
313
+ const edits = await project.getFileRenameEdits({
314
+ oldSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib.bs`,
315
+ newSrcPath: (0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/lib2.bs`
316
+ });
317
+ (0, chai_1.expect)(edits).to.have.lengthOf(2);
318
+ const editsByUri = new Map(edits.map(e => [e.uri, e.newText]));
319
+ (0, chai_1.expect)(editsByUri.get(util_1.default.pathToUri((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/source/main.bs`))).to.eql('pkg:/source/lib2.bs');
320
+ (0, chai_1.expect)(editsByUri.get(util_1.default.pathToUri((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/components/widget.xml`))).to.eql('pkg:/source/lib2.bs');
321
+ });
322
+ });
186
323
  describe('activate', () => {
187
324
  it('finds bsconfig.json at root', async () => {
188
325
  fsExtra.outputFileSync(`${testHelpers_spec_1.rootDir}/bsconfig.json`, '');
@@ -206,7 +343,7 @@ describe('Project', () => {
206
343
  workspaceFolder: undefined,
207
344
  bsconfigPath: undefined
208
345
  });
209
- await (0, testHelpers_spec_1.once)(project, 'diagnostics');
346
+ await project.validate();
210
347
  await (0, testHelpers_spec_1.expectDiagnosticsAsync)(project, [
211
348
  DiagnosticMessages_1.DiagnosticMessages.cannotFindName('varNotThere').message
212
349
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"Project.spec.js","sourceRoot":"","sources":["../../src/lsp/Project.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.spec.js","sourceRoot":"","sources":["../../src/lsp/Project.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { LspDiagnostic, LspProject } from './LspProject';
2
- import type { Hover, Position, Range, Location, SignatureHelp, DocumentSymbol, WorkspaceSymbol, CompletionList, CancellationToken } from 'vscode-languageserver-protocol';
1
+ import type { FileRenameTextEdit, LspDiagnostic, LspProject } from './LspProject';
2
+ import type { Hover, Position, Range, Location, SignatureHelp, DocumentSymbol, WorkspaceSymbol, CompletionList, CancellationToken, SelectionRange } from 'vscode-languageserver-protocol';
3
3
  import type { FileChange, MaybePromise } from '../interfaces';
4
4
  import { BusyStatusTracker } from '../BusyStatusTracker';
5
5
  import { PathFilterer } from './PathFilterer';
@@ -26,6 +26,11 @@ export declare class ProjectManager {
26
26
  private standaloneProjects;
27
27
  private documentManager;
28
28
  static documentManagerDelay: number;
29
+ /**
30
+ * Maximum number of projects to activate or validate concurrently during syncProjects.
31
+ * Limits CPU spikes when many projects are discovered (e.g. in large monorepos).
32
+ */
33
+ projectActivationConcurrencyLimit: number;
29
34
  busyStatusTracker: BusyStatusTracker<LspProject>;
30
35
  /**
31
36
  * Cache for PathCollection instances per project. Avoids recreating PathCollection
@@ -56,6 +61,12 @@ export declare class ProjectManager {
56
61
  */
57
62
  private syncPromise;
58
63
  private firstSync;
64
+ /**
65
+ * Monotonically increasing counter used to detect stale sync cycles.
66
+ * When a new `syncProjects` call arrives, any in-progress activation or validation
67
+ * from a previous cycle will see a mismatched generation and bail out.
68
+ */
69
+ private syncGeneration;
59
70
  /**
60
71
  * Get a promise that resolves when this manager is finished initializing
61
72
  */
@@ -72,6 +83,11 @@ export declare class ProjectManager {
72
83
  * @param workspaceConfigs an array of workspaces
73
84
  */
74
85
  syncProjects(workspaceConfigs: WorkspaceConfig[], forceReload?: boolean): Promise<void>;
86
+ /**
87
+ * Run async actions over a list of items with a concurrency limit.
88
+ * Uses a worker-pool pattern: `concurrencyLimit` workers pull items from a shared queue.
89
+ */
90
+ private runWithConcurrencyLimit;
75
91
  private fileChangesQueue;
76
92
  handleFileChanges(changes: FileChange[]): Promise<void>;
77
93
  /**
@@ -144,10 +160,26 @@ export declare class ProjectManager {
144
160
  srcPath: string;
145
161
  position: Position;
146
162
  }): Promise<Location[]>;
163
+ /**
164
+ * Collect file-rename text edits from every project and reconcile them.
165
+ * If two projects produce different replacement text for the same (uri, range), drop that edit
166
+ * to avoid mangling source. Otherwise emit the agreed-upon edit once.
167
+ */
168
+ getFileRenameEdits(options: {
169
+ oldSrcPath: string;
170
+ newSrcPath: string;
171
+ }): Promise<FileRenameTextEdit[]>;
147
172
  getCodeActions(options: {
148
173
  srcPath: string;
149
174
  range: Range;
150
175
  }): Promise<import("vscode-languageserver-types").CodeAction[]>;
176
+ getFixAllCodeActions(options: {
177
+ srcPath: string;
178
+ }): Promise<import("vscode-languageserver-types").CodeAction[]>;
179
+ getSelectionRanges(options: {
180
+ srcPath: string;
181
+ positions: Position[];
182
+ }): Promise<SelectionRange[]>;
151
183
  /**
152
184
  * Scan a given workspace for all `bsconfig.json` files. If at least one is found, then only folders who have bsconfig.json are returned.
153
185
  * If none are found, then the workspaceFolder itself is treated as a project
@@ -248,5 +280,9 @@ export interface WorkspaceConfig {
248
280
  * Maximum depth to search for Roku projects
249
281
  */
250
282
  projectDiscoveryMaxDepth?: number;
283
+ /**
284
+ * The maximum number of projects that can be activated concurrently
285
+ */
286
+ projectActivationConcurrencyLimit?: number;
251
287
  };
252
288
  }