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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LanguageServer.js","sourceRoot":"","sources":["../src/LanguageServer.ts"],"names":[],"mappings":"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"}
|
package/dist/Program.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { CodeAction, CompletionItem, Position, Range, SignatureInformation, Location, DocumentSymbol, CancellationToken } from 'vscode-languageserver';
|
|
1
|
+
import type { CodeAction, CompletionItem, Position, Range, SignatureInformation, Location, DocumentSymbol, CancellationToken, SelectionRange } from 'vscode-languageserver';
|
|
2
2
|
import type { BsConfig, FinalizedBsConfig } from './BsConfig';
|
|
3
3
|
import { Scope } from './Scope';
|
|
4
|
+
import type { NamespaceContainer, NamespaceFileContribution } from './Scope';
|
|
4
5
|
import { BrsFile } from './files/BrsFile';
|
|
5
6
|
import { XmlFile } from './files/XmlFile';
|
|
6
7
|
import type { BsDiagnostic, File, FileReference, FileObj, BscFile, SemanticToken, FileLink, Hover } from './interfaces';
|
|
@@ -70,6 +71,50 @@ export declare class Program {
|
|
|
70
71
|
*/
|
|
71
72
|
files: Record<string, BscFile>;
|
|
72
73
|
private pkgMap;
|
|
74
|
+
/**
|
|
75
|
+
* Map from a lower-cased namespace name part to the set of `BrsFile`s that contribute
|
|
76
|
+
* to it. Built lazily, invalidated whenever any file is added, removed, or re-parsed
|
|
77
|
+
* (`setFile` and `removeFile` both clear it).
|
|
78
|
+
*
|
|
79
|
+
* Used by `ScopeNamespaceLookup` to resolve a namespace name to its contributing
|
|
80
|
+
* files in O(1), then intersect against the scope's file set.
|
|
81
|
+
*/
|
|
82
|
+
private namespaceContributors;
|
|
83
|
+
/**
|
|
84
|
+
* Look up the set of `BrsFile`s that declare any part of the given namespace name
|
|
85
|
+
* (lowercased). Returns `undefined` when no file contributes.
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
protected getNamespaceContributors(namespaceNameLower: string): Set<BrsFile> | undefined;
|
|
89
|
+
private buildNamespaceContributors;
|
|
90
|
+
/**
|
|
91
|
+
* Cached slow-path namespace aggregates, keyed by `(nameLower, sorted-contributor-pkgPaths)`.
|
|
92
|
+
* Two scopes with the same in-scope file set for a multi-contributor namespace share
|
|
93
|
+
* the same aggregate object (and therefore the same merged statement collections and
|
|
94
|
+
* symbolTable instance). Built lazily, invalidated alongside `namespaceContributors`.
|
|
95
|
+
*
|
|
96
|
+
* The aggregate is stored as a `NamespaceContainer` whose `namespaces` field is an
|
|
97
|
+
* empty Map: scopes always wrap the aggregate before returning to plugins, and the
|
|
98
|
+
* wrapper supplies its own scope-filtered children. Plugins never see the aggregate
|
|
99
|
+
* directly.
|
|
100
|
+
*/
|
|
101
|
+
private aggregateNamespaceContainerCache;
|
|
102
|
+
/**
|
|
103
|
+
* Get or build the shared aggregate for a namespace whose in-scope contributors
|
|
104
|
+
* include more than one file. The aggregate's heavy fields are computed once per
|
|
105
|
+
* unique `(nameLower, contributing-files-set)` and reused across every scope that
|
|
106
|
+
* sees the same set.
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
protected getAggregateNamespaceContainer(nameLower: string, contributions: NamespaceFileContribution[]): NamespaceContainer;
|
|
110
|
+
private buildAggregateNamespaceContainer;
|
|
111
|
+
/**
|
|
112
|
+
* Invalidate the program-level namespace contributors map and the slow-path aggregate
|
|
113
|
+
* cache. Called by `setFile` and `removeFile`; downstream scope namespace lookups
|
|
114
|
+
* already rebuild via the dependency-graph invalidation chain, so this only needs
|
|
115
|
+
* to drop the cached maps.
|
|
116
|
+
*/
|
|
117
|
+
private invalidateNamespaceContributorCache;
|
|
73
118
|
private scopes;
|
|
74
119
|
protected addScope(scope: Scope): void;
|
|
75
120
|
/**
|
|
@@ -285,10 +330,22 @@ export declare class Program {
|
|
|
285
330
|
* @param srcPath path to the file
|
|
286
331
|
*/
|
|
287
332
|
getDocumentSymbols(srcPath: string): DocumentSymbol[] | undefined;
|
|
333
|
+
/**
|
|
334
|
+
* Get the selection ranges for the given positions in a file. Used for expand/shrink selection.
|
|
335
|
+
* @param srcPath path to the file
|
|
336
|
+
* @param positions the positions to get selection ranges for
|
|
337
|
+
*/
|
|
338
|
+
getSelectionRanges(srcPath: string, positions: Position[]): SelectionRange[];
|
|
288
339
|
/**
|
|
289
340
|
* Compute code actions for the given file and range
|
|
290
341
|
*/
|
|
291
342
|
getCodeActions(srcPath: string, range: Range): CodeAction[];
|
|
343
|
+
/**
|
|
344
|
+
* Compute "source fix all" code actions for the given file.
|
|
345
|
+
* Fires the `onGetSourceFixAllCodeActions` plugin event with all diagnostics for the file (no range filter),
|
|
346
|
+
* then converts each contributed SourceFixAllCodeAction into an LSP CodeAction.
|
|
347
|
+
*/
|
|
348
|
+
getSourceFixAllCodeActions(srcPath: string): CodeAction[];
|
|
292
349
|
/**
|
|
293
350
|
* Get semantic tokens for the specified file
|
|
294
351
|
*/
|
|
@@ -314,9 +371,27 @@ export declare class Program {
|
|
|
314
371
|
* This does not write anything to the file system
|
|
315
372
|
*/
|
|
316
373
|
private _getTranspiledFileContents;
|
|
374
|
+
/**
|
|
375
|
+
* If the file has an incoming sourcemap (from a prebuild step), chain it into the
|
|
376
|
+
* generated sourcemap so the output map traces all the way back to the original source.
|
|
377
|
+
* This is async because SourceMapConsumer requires async initialisation in source-map v0.7.
|
|
378
|
+
*/
|
|
379
|
+
private _chainInputSourceMap;
|
|
317
380
|
private beforeProgramTranspile;
|
|
318
381
|
transpile(fileEntries: FileObj[], stagingDir: string): Promise<void>;
|
|
319
382
|
private afterProgramTranspile;
|
|
383
|
+
/**
|
|
384
|
+
* Serialize a source map to a JSON string, handling relativeSourceMaps and sourceRoot.
|
|
385
|
+
*
|
|
386
|
+
* relativeSourceMaps:false — legacy: sources[] has absolute paths (rootDir swapped for sourceRoot
|
|
387
|
+
* if set); map's sourceRoot field is never written.
|
|
388
|
+
*
|
|
389
|
+
* relativeSourceMaps:true, no sourceRoot — sources[] is relative to the map file directory.
|
|
390
|
+
*
|
|
391
|
+
* relativeSourceMaps:true, sourceRoot set — map's sourceRoot field is written; sources[] is
|
|
392
|
+
* relative to sourceRoot so that path.resolve(sourceRoot, sources[0]) gives the source file.
|
|
393
|
+
*/
|
|
394
|
+
private serializeSourceMap;
|
|
320
395
|
/**
|
|
321
396
|
* Find a list of files in the program that have a function with the given name (case INsensitive)
|
|
322
397
|
*/
|
package/dist/Program.js
CHANGED
|
@@ -6,9 +6,11 @@ const fsExtra = require("fs-extra");
|
|
|
6
6
|
const path = require("path");
|
|
7
7
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
8
8
|
const Scope_1 = require("./Scope");
|
|
9
|
+
const SymbolTable_1 = require("./SymbolTable");
|
|
9
10
|
const DiagnosticMessages_1 = require("./DiagnosticMessages");
|
|
10
11
|
const BrsFile_1 = require("./files/BrsFile");
|
|
11
12
|
const XmlFile_1 = require("./files/XmlFile");
|
|
13
|
+
const CodeActionUtil_1 = require("./CodeActionUtil");
|
|
12
14
|
const util_1 = require("./util");
|
|
13
15
|
const XmlScope_1 = require("./XmlScope");
|
|
14
16
|
const DiagnosticFilterer_1 = require("./DiagnosticFilterer");
|
|
@@ -123,6 +125,114 @@ class Program {
|
|
|
123
125
|
return 'bslib';
|
|
124
126
|
}
|
|
125
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Look up the set of `BrsFile`s that declare any part of the given namespace name
|
|
130
|
+
* (lowercased). Returns `undefined` when no file contributes.
|
|
131
|
+
* @internal
|
|
132
|
+
*/
|
|
133
|
+
getNamespaceContributors(namespaceNameLower) {
|
|
134
|
+
if (!this.namespaceContributors) {
|
|
135
|
+
this.namespaceContributors = this.buildNamespaceContributors();
|
|
136
|
+
}
|
|
137
|
+
return this.namespaceContributors.get(namespaceNameLower);
|
|
138
|
+
}
|
|
139
|
+
buildNamespaceContributors() {
|
|
140
|
+
const contributors = new Map();
|
|
141
|
+
for (const file of Object.values(this.files)) {
|
|
142
|
+
if ((0, reflection_1.isBrsFile)(file)) {
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
144
|
+
for (const nameLower of file['getNamespaceContributions']().keys()) {
|
|
145
|
+
let set = contributors.get(nameLower);
|
|
146
|
+
if (!set) {
|
|
147
|
+
set = new Set();
|
|
148
|
+
contributors.set(nameLower, set);
|
|
149
|
+
}
|
|
150
|
+
set.add(file);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return contributors;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get or build the shared aggregate for a namespace whose in-scope contributors
|
|
158
|
+
* include more than one file. The aggregate's heavy fields are computed once per
|
|
159
|
+
* unique `(nameLower, contributing-files-set)` and reused across every scope that
|
|
160
|
+
* sees the same set.
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
getAggregateNamespaceContainer(nameLower, contributions) {
|
|
164
|
+
if (!this.aggregateNamespaceContainerCache) {
|
|
165
|
+
this.aggregateNamespaceContainerCache = new Map();
|
|
166
|
+
}
|
|
167
|
+
//sorted pkgPaths ensure two scopes with the same contributor set hit the same key
|
|
168
|
+
const key = nameLower + '|' + contributions
|
|
169
|
+
.map(c => c.file.pkgPath.toLowerCase())
|
|
170
|
+
.sort()
|
|
171
|
+
.join('|');
|
|
172
|
+
let aggregate = this.aggregateNamespaceContainerCache.get(key);
|
|
173
|
+
if (!aggregate) {
|
|
174
|
+
aggregate = this.buildAggregateNamespaceContainer(contributions);
|
|
175
|
+
this.aggregateNamespaceContainerCache.set(key, aggregate);
|
|
176
|
+
}
|
|
177
|
+
return aggregate;
|
|
178
|
+
}
|
|
179
|
+
buildAggregateNamespaceContainer(contributions) {
|
|
180
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
181
|
+
const first = contributions[0];
|
|
182
|
+
//field order matches the NamespaceContainer interface declaration so aggregates
|
|
183
|
+
//share a single V8 hidden class with the per-scope wrapper containers
|
|
184
|
+
const aggregate = {
|
|
185
|
+
file: first.file,
|
|
186
|
+
fullName: first.fullName,
|
|
187
|
+
nameRange: first.nameRange,
|
|
188
|
+
lastPartName: first.lastPartName,
|
|
189
|
+
namespaces: new Map(),
|
|
190
|
+
statements: undefined,
|
|
191
|
+
classStatements: undefined,
|
|
192
|
+
functionStatements: undefined,
|
|
193
|
+
enumStatements: undefined,
|
|
194
|
+
constStatements: undefined,
|
|
195
|
+
symbolTable: undefined
|
|
196
|
+
};
|
|
197
|
+
for (const contribution of contributions) {
|
|
198
|
+
if ((_a = contribution.statements) === null || _a === void 0 ? void 0 : _a.length) {
|
|
199
|
+
((_b = aggregate.statements) !== null && _b !== void 0 ? _b : (aggregate.statements = [])).push(...contribution.statements);
|
|
200
|
+
}
|
|
201
|
+
if (contribution.classStatements) {
|
|
202
|
+
aggregate.classStatements = Object.assign(Object.assign({}, ((_c = aggregate.classStatements) !== null && _c !== void 0 ? _c : {})), contribution.classStatements);
|
|
203
|
+
}
|
|
204
|
+
if (contribution.functionStatements) {
|
|
205
|
+
aggregate.functionStatements = Object.assign(Object.assign({}, ((_d = aggregate.functionStatements) !== null && _d !== void 0 ? _d : {})), contribution.functionStatements);
|
|
206
|
+
}
|
|
207
|
+
if (contribution.enumStatements) {
|
|
208
|
+
(_e = aggregate.enumStatements) !== null && _e !== void 0 ? _e : (aggregate.enumStatements = new Map());
|
|
209
|
+
for (const [key, value] of contribution.enumStatements) {
|
|
210
|
+
aggregate.enumStatements.set(key, value);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (contribution.constStatements) {
|
|
214
|
+
(_f = aggregate.constStatements) !== null && _f !== void 0 ? _f : (aggregate.constStatements = new Map());
|
|
215
|
+
for (const [key, value] of contribution.constStatements) {
|
|
216
|
+
aggregate.constStatements.set(key, value);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (contribution.symbolTable) {
|
|
220
|
+
(_g = aggregate.symbolTable) !== null && _g !== void 0 ? _g : (aggregate.symbolTable = new SymbolTable_1.SymbolTable(`Namespace Multi-File Aggregate: '${first.fullName}'`));
|
|
221
|
+
aggregate.symbolTable.mergeSymbolTable(contribution.symbolTable);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return aggregate;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Invalidate the program-level namespace contributors map and the slow-path aggregate
|
|
228
|
+
* cache. Called by `setFile` and `removeFile`; downstream scope namespace lookups
|
|
229
|
+
* already rebuild via the dependency-graph invalidation chain, so this only needs
|
|
230
|
+
* to drop the cached maps.
|
|
231
|
+
*/
|
|
232
|
+
invalidateNamespaceContributorCache() {
|
|
233
|
+
this.namespaceContributors = undefined;
|
|
234
|
+
this.aggregateNamespaceContainerCache = undefined;
|
|
235
|
+
}
|
|
126
236
|
addScope(scope) {
|
|
127
237
|
this.scopes[scope.name] = scope;
|
|
128
238
|
}
|
|
@@ -305,6 +415,9 @@ class Program {
|
|
|
305
415
|
setFile(fileParam, fileContents) {
|
|
306
416
|
//normalize the file paths
|
|
307
417
|
const { srcPath, pkgPath } = this.getPaths(fileParam, this.options.rootDir);
|
|
418
|
+
//namespace contributions for the new/replaced file may differ; force the
|
|
419
|
+
//program-level contributors map to rebuild on next query
|
|
420
|
+
this.invalidateNamespaceContributorCache();
|
|
308
421
|
let file = this.logger.time(logging_1.LogLevel.debug, ['Program.setFile()', chalk_1.default.green(srcPath)], () => {
|
|
309
422
|
//if the file is already loaded, remove it
|
|
310
423
|
if (this.hasFile(srcPath)) {
|
|
@@ -494,6 +607,9 @@ class Program {
|
|
|
494
607
|
*/
|
|
495
608
|
removeFile(filePath, normalizePath = true) {
|
|
496
609
|
this.logger.debug('Program.removeFile()', filePath);
|
|
610
|
+
//namespace contributions may have included this file; force the program-level
|
|
611
|
+
//contributors map to rebuild on next query
|
|
612
|
+
this.invalidateNamespaceContributorCache();
|
|
497
613
|
let file = this.getFile(filePath, normalizePath);
|
|
498
614
|
if (file) {
|
|
499
615
|
this.plugins.emit('beforeFileDispose', file);
|
|
@@ -867,6 +983,27 @@ class Program {
|
|
|
867
983
|
return undefined;
|
|
868
984
|
}
|
|
869
985
|
}
|
|
986
|
+
/**
|
|
987
|
+
* Get the selection ranges for the given positions in a file. Used for expand/shrink selection.
|
|
988
|
+
* @param srcPath path to the file
|
|
989
|
+
* @param positions the positions to get selection ranges for
|
|
990
|
+
*/
|
|
991
|
+
getSelectionRanges(srcPath, positions) {
|
|
992
|
+
const file = this.getFile(srcPath);
|
|
993
|
+
if (file) {
|
|
994
|
+
const event = {
|
|
995
|
+
program: this,
|
|
996
|
+
file: file,
|
|
997
|
+
positions: positions,
|
|
998
|
+
selectionRanges: []
|
|
999
|
+
};
|
|
1000
|
+
this.plugins.emit('beforeProvideSelectionRanges', event);
|
|
1001
|
+
this.plugins.emit('provideSelectionRanges', event);
|
|
1002
|
+
this.plugins.emit('afterProvideSelectionRanges', event);
|
|
1003
|
+
return event.selectionRanges;
|
|
1004
|
+
}
|
|
1005
|
+
return [];
|
|
1006
|
+
}
|
|
870
1007
|
/**
|
|
871
1008
|
* Compute code actions for the given file and range
|
|
872
1009
|
*/
|
|
@@ -893,6 +1030,32 @@ class Program {
|
|
|
893
1030
|
}
|
|
894
1031
|
return codeActions;
|
|
895
1032
|
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Compute "source fix all" code actions for the given file.
|
|
1035
|
+
* Fires the `onGetSourceFixAllCodeActions` plugin event with all diagnostics for the file (no range filter),
|
|
1036
|
+
* then converts each contributed SourceFixAllCodeAction into an LSP CodeAction.
|
|
1037
|
+
*/
|
|
1038
|
+
getSourceFixAllCodeActions(srcPath) {
|
|
1039
|
+
const actions = [];
|
|
1040
|
+
const file = this.getFile(srcPath);
|
|
1041
|
+
if (file) {
|
|
1042
|
+
const diagnostics = this
|
|
1043
|
+
.getDiagnostics()
|
|
1044
|
+
.filter(x => x.file === file);
|
|
1045
|
+
const scopes = this.getScopesForFile(file);
|
|
1046
|
+
this.plugins.emit('onGetSourceFixAllCodeActions', {
|
|
1047
|
+
program: this,
|
|
1048
|
+
file: file,
|
|
1049
|
+
diagnostics: diagnostics,
|
|
1050
|
+
scopes: scopes,
|
|
1051
|
+
actions: actions
|
|
1052
|
+
});
|
|
1053
|
+
}
|
|
1054
|
+
return actions.map(action => {
|
|
1055
|
+
var _a;
|
|
1056
|
+
return CodeActionUtil_1.codeActionUtil.createCodeAction(Object.assign(Object.assign({}, action), { kind: (_a = action.kind) !== null && _a !== void 0 ? _a : 'source.fixAll.brighterscript' }));
|
|
1057
|
+
});
|
|
1058
|
+
}
|
|
896
1059
|
/**
|
|
897
1060
|
* Get semantic tokens for the specified file
|
|
898
1061
|
*/
|
|
@@ -1001,8 +1164,9 @@ class Program {
|
|
|
1001
1164
|
}];
|
|
1002
1165
|
const { entries, astEditor } = this.beforeProgramTranspile(fileMap, this.options.stagingDir);
|
|
1003
1166
|
const result = this._getTranspiledFileContents(file);
|
|
1167
|
+
await this._chainInputSourceMap(result, file);
|
|
1004
1168
|
this.afterProgramTranspile(entries, astEditor);
|
|
1005
|
-
return
|
|
1169
|
+
return result;
|
|
1006
1170
|
}
|
|
1007
1171
|
/**
|
|
1008
1172
|
* Internal function used to transpile files.
|
|
@@ -1048,6 +1212,20 @@ class Program {
|
|
|
1048
1212
|
typedef: event.typedef
|
|
1049
1213
|
};
|
|
1050
1214
|
}
|
|
1215
|
+
/**
|
|
1216
|
+
* If the file has an incoming sourcemap (from a prebuild step), chain it into the
|
|
1217
|
+
* generated sourcemap so the output map traces all the way back to the original source.
|
|
1218
|
+
* This is async because SourceMapConsumer requires async initialisation in source-map v0.7.
|
|
1219
|
+
*/
|
|
1220
|
+
async _chainInputSourceMap(result, file) {
|
|
1221
|
+
var _a;
|
|
1222
|
+
if (result.map) {
|
|
1223
|
+
const inputMap = await util_1.util.resolveInputSourceMap((_a = file.fileContents) !== null && _a !== void 0 ? _a : '', file.srcPath);
|
|
1224
|
+
if (inputMap) {
|
|
1225
|
+
await util_1.util.applySourceMap(result.map, inputMap, file.srcPath);
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1051
1229
|
beforeProgramTranspile(fileEntries, stagingDir) {
|
|
1052
1230
|
// map fileEntries using their path as key, to avoid excessive "find()" operations
|
|
1053
1231
|
const mappedFileEntries = fileEntries.reduce((collection, entry) => {
|
|
@@ -1105,12 +1283,13 @@ class Program {
|
|
|
1105
1283
|
return;
|
|
1106
1284
|
}
|
|
1107
1285
|
const fileTranspileResult = this._getTranspiledFileContents(file, outputPath);
|
|
1286
|
+
await this._chainInputSourceMap(fileTranspileResult, file);
|
|
1108
1287
|
//make sure the full dir path exists
|
|
1109
1288
|
await fsExtra.ensureDir(path.dirname(outputPath));
|
|
1110
1289
|
if (await fsExtra.pathExists(outputPath)) {
|
|
1111
1290
|
throw new Error(`Error while transpiling "${file.srcPath}". A file already exists at "${outputPath}" and will not be overwritten.`);
|
|
1112
1291
|
}
|
|
1113
|
-
const writeMapPromise = fileTranspileResult.map ? fsExtra.writeFile(`${outputPath}.map`, fileTranspileResult.map
|
|
1292
|
+
const writeMapPromise = fileTranspileResult.map ? fsExtra.writeFile(`${outputPath}.map`, this.serializeSourceMap(fileTranspileResult.map, outputPath)) : null;
|
|
1114
1293
|
await Promise.all([
|
|
1115
1294
|
fsExtra.writeFile(outputPath, fileTranspileResult.code),
|
|
1116
1295
|
writeMapPromise
|
|
@@ -1152,6 +1331,40 @@ class Program {
|
|
|
1152
1331
|
this.plugins.emit('afterProgramTranspile', this, entries, astEditor);
|
|
1153
1332
|
astEditor.undoAll();
|
|
1154
1333
|
}
|
|
1334
|
+
/**
|
|
1335
|
+
* Serialize a source map to a JSON string, handling relativeSourceMaps and sourceRoot.
|
|
1336
|
+
*
|
|
1337
|
+
* relativeSourceMaps:false — legacy: sources[] has absolute paths (rootDir swapped for sourceRoot
|
|
1338
|
+
* if set); map's sourceRoot field is never written.
|
|
1339
|
+
*
|
|
1340
|
+
* relativeSourceMaps:true, no sourceRoot — sources[] is relative to the map file directory.
|
|
1341
|
+
*
|
|
1342
|
+
* relativeSourceMaps:true, sourceRoot set — map's sourceRoot field is written; sources[] is
|
|
1343
|
+
* relative to sourceRoot so that path.resolve(sourceRoot, sources[0]) gives the source file.
|
|
1344
|
+
*/
|
|
1345
|
+
serializeSourceMap(sourceMap, outputPath) {
|
|
1346
|
+
const { relativeSourceMaps, sourceRoot } = this.options;
|
|
1347
|
+
if (!relativeSourceMaps) {
|
|
1348
|
+
return sourceMap.toString();
|
|
1349
|
+
}
|
|
1350
|
+
const mapJson = sourceMap.toJSON();
|
|
1351
|
+
if (sourceRoot) {
|
|
1352
|
+
mapJson.sourceRoot = sourceRoot;
|
|
1353
|
+
mapJson.sources = mapJson.sources.map((source) => {
|
|
1354
|
+
const absolute = path.isAbsolute(source) ? source : path.resolve(path.dirname(outputPath), source);
|
|
1355
|
+
return path.relative(sourceRoot, absolute).replace(/\\/g, '/');
|
|
1356
|
+
});
|
|
1357
|
+
}
|
|
1358
|
+
else {
|
|
1359
|
+
const mapDir = path.dirname(outputPath);
|
|
1360
|
+
mapJson.sources = mapJson.sources.map((source) => {
|
|
1361
|
+
return path.isAbsolute(source)
|
|
1362
|
+
? path.relative(mapDir, source).replace(/\\/g, '/')
|
|
1363
|
+
: source;
|
|
1364
|
+
});
|
|
1365
|
+
}
|
|
1366
|
+
return JSON.stringify(mapJson);
|
|
1367
|
+
}
|
|
1155
1368
|
/**
|
|
1156
1369
|
* Find a list of files in the program that have a function with the given name (case INsensitive)
|
|
1157
1370
|
*/
|