brighterscript 0.71.1 → 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.
- package/bsconfig.schema.json +13 -0
- package/dist/BsConfig.d.ts +35 -5
- package/dist/CodeActionUtil.d.ts +17 -0
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +15 -2
- package/dist/LanguageServer.js +100 -7
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +76 -1
- package/dist/Program.js +215 -2
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +53 -7
- package/dist/Scope.js +28 -66
- package/dist/Scope.js.map +1 -1
- package/dist/ScopeNamespaceLookup.d.ts +73 -0
- package/dist/ScopeNamespaceLookup.js +240 -0
- package/dist/ScopeNamespaceLookup.js.map +1 -0
- package/dist/SymbolTable.d.ts +9 -2
- package/dist/SymbolTable.js +10 -5
- package/dist/SymbolTable.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +3 -1
- package/dist/bscPlugin/BscPlugin.js +8 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -4
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js +29 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +74 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +298 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +2 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +49 -4
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +13 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +42 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +101 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +69 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/files/BrsFile.d.ts +15 -0
- package/dist/files/BrsFile.js +88 -5
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +156 -3
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/interfaces.d.ts +51 -1
- package/dist/lsp/DocumentManager.spec.js +1 -1
- package/dist/lsp/DocumentManager.spec.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +30 -1
- package/dist/lsp/Project.d.ts +19 -1
- package/dist/lsp/Project.js +98 -2
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/Project.spec.js +146 -9
- package/dist/lsp/Project.spec.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +38 -2
- package/dist/lsp/ProjectManager.js +116 -4
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/ProjectManager.spec.js +236 -1
- package/dist/lsp/ProjectManager.spec.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +13 -2
- package/dist/lsp/worker/WorkerThreadProject.js +9 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js +2 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +10 -0
- package/dist/parser/Parser.js +18 -3
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +111 -0
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +4 -2
- package/dist/parser/TranspileState.js +3 -3
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -5
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +2 -2
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +218 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +2 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/util.d.ts +26 -0
- package/dist/util.js +68 -0
- package/dist/util.js.map +1 -1
- package/package.json +4 -2
package/dist/lsp/Project.js
CHANGED
|
@@ -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
|
}
|
package/dist/lsp/Project.js.map
CHANGED
|
@@ -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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"}
|
package/dist/lsp/Project.spec.js
CHANGED
|
@@ -48,13 +48,8 @@ describe('Project', () => {
|
|
|
48
48
|
workspaceFolder: testHelpers_spec_1.rootDir,
|
|
49
49
|
enableThreading: false
|
|
50
50
|
});
|
|
51
|
-
//wait for the first
|
|
52
|
-
await
|
|
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
|
|
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
|
|
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
|
}
|