brighterscript 0.69.10 → 0.69.11
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/dist/LanguageServer.d.ts +19 -5
- package/dist/LanguageServer.js +43 -19
- package/dist/LanguageServer.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +26 -11
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +17 -9
- package/dist/lsp/Project.d.ts +8 -7
- package/dist/lsp/Project.js +20 -20
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/Project.spec.js +41 -14
- package/dist/lsp/Project.spec.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +23 -10
- package/dist/lsp/ProjectManager.js +125 -57
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/ProjectManager.spec.js +106 -115
- package/dist/lsp/ProjectManager.spec.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +6 -7
- package/dist/lsp/worker/WorkerThreadProject.js +6 -5
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js +4 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
- package/dist/util.d.ts +6 -0
- package/dist/util.js +14 -2
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
package/dist/LanguageServer.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import 'array-flat-polyfill';
|
|
2
2
|
import type { CompletionItem, DidChangeWatchedFilesParams, InitializeParams, TextDocumentPositionParams, ExecuteCommandParams, WorkspaceSymbolParams, DocumentSymbolParams, ReferenceParams, SignatureHelpParams, CodeActionParams, HandlerResult, InitializeError, InitializeResult, CompletionParams, ResultProgressReporter, WorkDoneProgressReporter, CompletionList, CancellationToken, DidChangeConfigurationParams } from 'vscode-languageserver/node';
|
|
3
3
|
import { LogLevel } from './logging';
|
|
4
|
-
import type { WorkspaceConfig } from './lsp/ProjectManager';
|
|
5
4
|
export declare class LanguageServer {
|
|
6
5
|
/**
|
|
7
6
|
* The default threading setting for the language server. Can be overridden by per-workspace settings
|
|
8
7
|
*/
|
|
9
8
|
static enableThreadingDefault: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The default project discovery setting for the language server. Can be overridden by per-workspace settings
|
|
11
|
+
*/
|
|
12
|
+
static enableProjectDiscoveryDefault: boolean;
|
|
10
13
|
/**
|
|
11
14
|
* The language server protocol connection, used to send and receive all requests and responses
|
|
12
15
|
*/
|
|
@@ -64,6 +67,10 @@ export declare class LanguageServer {
|
|
|
64
67
|
* Get only the settings for the workspace that are relevant to the language server. We do this so we can cache this object for use in change detection in the future.
|
|
65
68
|
*/
|
|
66
69
|
private getWorkspaceConfigs;
|
|
70
|
+
/**
|
|
71
|
+
* Extract project paths from settings' projects list, expanding the workspaceFolder variable if necessary
|
|
72
|
+
*/
|
|
73
|
+
private normalizeProjectPaths;
|
|
67
74
|
private workspaceConfigsCache;
|
|
68
75
|
onDidChangeConfiguration(args: DidChangeConfigurationParams): Promise<void>;
|
|
69
76
|
onHover(params: TextDocumentPositionParams): Promise<import("vscode-languageserver-types").Hover>;
|
|
@@ -94,6 +101,7 @@ export declare class LanguageServer {
|
|
|
94
101
|
* Ask the client for the list of `files.exclude` patterns. Useful when determining if we should process a file
|
|
95
102
|
*/
|
|
96
103
|
private getWorkspaceExcludeGlobs;
|
|
104
|
+
private extractExcludes;
|
|
97
105
|
/**
|
|
98
106
|
* Ask the project manager to sync all projects found within the list of workspaces
|
|
99
107
|
* @param forceReload if true, all projects are discarded and recreated from scratch
|
|
@@ -128,11 +136,17 @@ declare type Handler<T> = {
|
|
|
128
136
|
export declare type OnHandler<T> = {
|
|
129
137
|
[K in keyof Handler<T>]: Handler<T>[K] extends (arg: infer U) => void ? U : never;
|
|
130
138
|
};
|
|
131
|
-
export
|
|
132
|
-
|
|
139
|
+
export interface BrightScriptProjectConfiguration {
|
|
140
|
+
name?: string;
|
|
141
|
+
path: string;
|
|
142
|
+
disabled?: boolean;
|
|
143
|
+
}
|
|
144
|
+
export interface BrightScriptClientConfiguration {
|
|
145
|
+
projects?: (string | BrightScriptProjectConfiguration)[];
|
|
133
146
|
languageServer: {
|
|
134
147
|
enableThreading: boolean;
|
|
135
|
-
|
|
148
|
+
enableProjectDiscovery: boolean;
|
|
149
|
+
logLevel: LogLevel | string;
|
|
136
150
|
};
|
|
137
|
-
}
|
|
151
|
+
}
|
|
138
152
|
export {};
|
package/dist/LanguageServer.js
CHANGED
|
@@ -64,13 +64,12 @@ class LanguageServer {
|
|
|
64
64
|
// and may not have the latest unsaved file changes. Any existing projects that already use these files will just ignore the changes
|
|
65
65
|
// because the file contents haven't changed.
|
|
66
66
|
this.projectManager.on('project-activate', (event) => {
|
|
67
|
-
var _a;
|
|
68
67
|
//keep logLevel in sync with the most verbose log level found across all projects
|
|
69
68
|
this.syncLogLevel().catch(logAndIgnoreError);
|
|
70
69
|
//resend all open document changes
|
|
71
70
|
const documents = [...this.documents.all()];
|
|
72
71
|
if (documents.length > 0) {
|
|
73
|
-
this.logger.log(`[${(
|
|
72
|
+
this.logger.log(`[${util_1.util.getProjectLogName(event.project)}] loaded or changed. Resending all open document changes.`, documents.map(x => x.uri));
|
|
74
73
|
for (const document of this.documents.all()) {
|
|
75
74
|
this.onTextDocumentDidChangeContent({
|
|
76
75
|
document: document
|
|
@@ -311,21 +310,38 @@ class LanguageServer {
|
|
|
311
310
|
var _a;
|
|
312
311
|
//get all workspace folders (we'll use these to get settings)
|
|
313
312
|
let workspaces = await Promise.all(((_a = await this.connection.workspace.getWorkspaceFolders()) !== null && _a !== void 0 ? _a : []).map(async (x) => {
|
|
314
|
-
var _a, _b, _c;
|
|
313
|
+
var _a, _b, _c, _d, _e;
|
|
315
314
|
const workspaceFolder = util_1.util.uriToPath(x.uri);
|
|
316
315
|
const brightscriptConfig = await this.getClientConfiguration(x.uri, 'brightscript');
|
|
317
316
|
return {
|
|
318
317
|
workspaceFolder: workspaceFolder,
|
|
319
318
|
excludePatterns: await this.getWorkspaceExcludeGlobs(workspaceFolder),
|
|
320
|
-
|
|
319
|
+
projects: this.normalizeProjectPaths(workspaceFolder, brightscriptConfig.projects),
|
|
321
320
|
languageServer: {
|
|
322
321
|
enableThreading: (_b = (_a = brightscriptConfig.languageServer) === null || _a === void 0 ? void 0 : _a.enableThreading) !== null && _b !== void 0 ? _b : LanguageServer.enableThreadingDefault,
|
|
323
|
-
|
|
322
|
+
enableProjectDiscovery: (_d = (_c = brightscriptConfig.languageServer) === null || _c === void 0 ? void 0 : _c.enableProjectDiscovery) !== null && _d !== void 0 ? _d : LanguageServer.enableProjectDiscoveryDefault,
|
|
323
|
+
logLevel: (_e = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _e === void 0 ? void 0 : _e.logLevel
|
|
324
324
|
}
|
|
325
325
|
};
|
|
326
326
|
}));
|
|
327
327
|
return workspaces;
|
|
328
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Extract project paths from settings' projects list, expanding the workspaceFolder variable if necessary
|
|
331
|
+
*/
|
|
332
|
+
normalizeProjectPaths(workspaceFolder, projects) {
|
|
333
|
+
return projects === null || projects === void 0 ? void 0 : projects.reduce((acc, project) => {
|
|
334
|
+
if (typeof project === 'string') {
|
|
335
|
+
acc.push({ path: project });
|
|
336
|
+
}
|
|
337
|
+
else if (typeof project.path === 'string') {
|
|
338
|
+
acc.push(project);
|
|
339
|
+
}
|
|
340
|
+
return acc;
|
|
341
|
+
}, []).map(project => (Object.assign(Object.assign({}, project), {
|
|
342
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
343
|
+
path: util_1.util.standardizePath(project.path.replace('${workspaceFolder}', workspaceFolder)) })));
|
|
344
|
+
}
|
|
329
345
|
async onDidChangeConfiguration(args) {
|
|
330
346
|
this.logger.log('onDidChangeConfiguration', 'Reloading all projects');
|
|
331
347
|
const configs = new Map((await this.getWorkspaceConfigs()).map(x => [x.workspaceFolder, x]));
|
|
@@ -431,14 +447,11 @@ class LanguageServer {
|
|
|
431
447
|
index: this.busyStatusIndex,
|
|
432
448
|
activeRuns: [
|
|
433
449
|
//extract only specific information from the active run so we know what's going on
|
|
434
|
-
...this.projectManager.busyStatusTracker.activeRuns.map(x => {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
startTime: x.startTime.getTime()
|
|
440
|
-
});
|
|
441
|
-
})
|
|
450
|
+
...this.projectManager.busyStatusTracker.activeRuns.map(x => ({
|
|
451
|
+
scope: util_1.util.getProjectLogName(x.scope),
|
|
452
|
+
label: x.label,
|
|
453
|
+
startTime: x.startTime.getTime()
|
|
454
|
+
}))
|
|
442
455
|
]
|
|
443
456
|
})) === null || _a === void 0 ? void 0 : _a.catch(logAndIgnoreError);
|
|
444
457
|
}
|
|
@@ -487,11 +500,19 @@ class LanguageServer {
|
|
|
487
500
|
* Ask the client for the list of `files.exclude` patterns. Useful when determining if we should process a file
|
|
488
501
|
*/
|
|
489
502
|
async getWorkspaceExcludeGlobs(workspaceFolder) {
|
|
490
|
-
|
|
491
|
-
const
|
|
492
|
-
const
|
|
493
|
-
|
|
494
|
-
|
|
503
|
+
const filesConfig = await this.getClientConfiguration(workspaceFolder, 'files');
|
|
504
|
+
const fileExcludes = this.extractExcludes(filesConfig);
|
|
505
|
+
const searchConfig = await this.getClientConfiguration(workspaceFolder, 'search');
|
|
506
|
+
const searchExcludes = this.extractExcludes(searchConfig);
|
|
507
|
+
return [...fileExcludes, ...searchExcludes];
|
|
508
|
+
}
|
|
509
|
+
extractExcludes(config) {
|
|
510
|
+
if (!(config === null || config === void 0 ? void 0 : config.exclude)) {
|
|
511
|
+
return [];
|
|
512
|
+
}
|
|
513
|
+
return Object
|
|
514
|
+
.keys(config.exclude)
|
|
515
|
+
.filter(x => config.exclude[x])
|
|
495
516
|
//vscode files.exclude patterns support ignoring folders without needing to add `**/*`. So for our purposes, we need to
|
|
496
517
|
//append **/* to everything without a file extension or magic at the end
|
|
497
518
|
.map(pattern => [
|
|
@@ -501,7 +522,6 @@ class LanguageServer {
|
|
|
501
522
|
`${pattern}/**/*`
|
|
502
523
|
])
|
|
503
524
|
.flat(1);
|
|
504
|
-
return result;
|
|
505
525
|
}
|
|
506
526
|
/**
|
|
507
527
|
* Ask the project manager to sync all projects found within the list of workspaces
|
|
@@ -560,6 +580,10 @@ class LanguageServer {
|
|
|
560
580
|
* The default threading setting for the language server. Can be overridden by per-workspace settings
|
|
561
581
|
*/
|
|
562
582
|
LanguageServer.enableThreadingDefault = true;
|
|
583
|
+
/**
|
|
584
|
+
* The default project discovery setting for the language server. Can be overridden by per-workspace settings
|
|
585
|
+
*/
|
|
586
|
+
LanguageServer.enableProjectDiscoveryDefault = true;
|
|
563
587
|
__decorate([
|
|
564
588
|
AddStackToErrorMessage
|
|
565
589
|
], LanguageServer.prototype, "onInitialize", null);
|
|
@@ -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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"}
|
|
@@ -42,18 +42,24 @@ class BrsFileValidator {
|
|
|
42
42
|
this.validateDeclarationLocations(node, 'enum', () => util_1.default.createBoundingRange(node.tokens.enum, node.tokens.name));
|
|
43
43
|
this.validateEnumDeclaration(node);
|
|
44
44
|
//register this enum declaration
|
|
45
|
-
|
|
45
|
+
if (node.tokens.name) {
|
|
46
|
+
(_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
|
|
47
|
+
}
|
|
46
48
|
},
|
|
47
49
|
ClassStatement: (node) => {
|
|
48
50
|
var _a;
|
|
49
51
|
this.validateDeclarationLocations(node, 'class', () => util_1.default.createBoundingRange(node.classKeyword, node.name));
|
|
50
52
|
//register this class
|
|
51
|
-
|
|
53
|
+
if (node.name) {
|
|
54
|
+
(_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
|
|
55
|
+
}
|
|
52
56
|
},
|
|
53
57
|
AssignmentStatement: (node) => {
|
|
54
58
|
var _a;
|
|
55
59
|
//register this variable
|
|
56
|
-
|
|
60
|
+
if (node.name) {
|
|
61
|
+
(_a = node.parent.getSymbolTable()) === null || _a === void 0 ? void 0 : _a.addSymbol(node.name.text, node.name.range, DynamicType_1.DynamicType.instance);
|
|
62
|
+
}
|
|
57
63
|
},
|
|
58
64
|
DottedSetStatement: (node) => {
|
|
59
65
|
this.validateNoOptionalChainingInVarSet(node, [node.obj]);
|
|
@@ -68,7 +74,9 @@ class BrsFileValidator {
|
|
|
68
74
|
},
|
|
69
75
|
NamespaceStatement: (node) => {
|
|
70
76
|
this.validateDeclarationLocations(node, 'namespace', () => util_1.default.createBoundingRange(node.keyword, node.nameExpression));
|
|
71
|
-
|
|
77
|
+
if (node.name) {
|
|
78
|
+
node.parent.getSymbolTable().addSymbol(node.name.split('.')[0], node.nameExpression.range, DynamicType_1.DynamicType.instance);
|
|
79
|
+
}
|
|
72
80
|
},
|
|
73
81
|
FunctionStatement: (node) => {
|
|
74
82
|
var _a;
|
|
@@ -83,7 +91,9 @@ class BrsFileValidator {
|
|
|
83
91
|
const transpiledNamespaceFunctionName = node.getName(Parser_1.ParseMode.BrightScript);
|
|
84
92
|
const funcType = node.func.getFunctionType();
|
|
85
93
|
funcType.setName(transpiledNamespaceFunctionName);
|
|
86
|
-
|
|
94
|
+
if (node.name) {
|
|
95
|
+
this.event.file.parser.ast.symbolTable.addSymbol(transpiledNamespaceFunctionName, node.name.range, funcType);
|
|
96
|
+
}
|
|
87
97
|
}
|
|
88
98
|
},
|
|
89
99
|
FunctionExpression: (node) => {
|
|
@@ -93,19 +103,24 @@ class BrsFileValidator {
|
|
|
93
103
|
this.validateFunctionParameterCount(node);
|
|
94
104
|
},
|
|
95
105
|
FunctionParameterExpression: (node) => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
if (node.name) {
|
|
107
|
+
const paramName = node.name.text;
|
|
108
|
+
const symbolTable = node.getSymbolTable();
|
|
109
|
+
symbolTable === null || symbolTable === void 0 ? void 0 : symbolTable.addSymbol(paramName, node.name.range, node.type);
|
|
110
|
+
}
|
|
100
111
|
},
|
|
101
112
|
InterfaceStatement: (node) => {
|
|
102
113
|
var _a, _b;
|
|
103
114
|
this.validateDeclarationLocations(node, 'interface', () => util_1.default.createBoundingRange(node.tokens.interface, node.tokens.name));
|
|
104
|
-
|
|
115
|
+
if (node.tokens.name) {
|
|
116
|
+
(_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.getSymbolTable()) === null || _b === void 0 ? void 0 : _b.addSymbol(node.tokens.name.text, node.tokens.name.range, new InterfaceType_1.InterfaceType(new Map()));
|
|
117
|
+
}
|
|
105
118
|
},
|
|
106
119
|
ConstStatement: (node) => {
|
|
107
120
|
this.validateDeclarationLocations(node, 'const', () => util_1.default.createBoundingRange(node.tokens.const, node.tokens.name));
|
|
108
|
-
|
|
121
|
+
if (node.tokens.name) {
|
|
122
|
+
node.parent.getSymbolTable().addSymbol(node.tokens.name.text, node.tokens.name.range, DynamicType_1.DynamicType.instance);
|
|
123
|
+
}
|
|
109
124
|
},
|
|
110
125
|
CatchStatement: (node) => {
|
|
111
126
|
node.parent.getSymbolTable().addSymbol(node.exceptionVariable.text, node.exceptionVariable.range, DynamicType_1.DynamicType.instance);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
|
package/dist/lsp/LspProject.d.ts
CHANGED
|
@@ -20,17 +20,19 @@ export interface LspProject {
|
|
|
20
20
|
*/
|
|
21
21
|
activateOptions: ProjectConfig;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
|
|
24
|
+
*
|
|
25
|
+
* For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
|
|
24
26
|
*/
|
|
25
|
-
|
|
27
|
+
projectKey: string;
|
|
26
28
|
/**
|
|
27
|
-
*
|
|
29
|
+
* The directory for the root of this project (typically where the bsconfig.json or manifest is located)
|
|
28
30
|
*/
|
|
29
|
-
|
|
31
|
+
projectDir: string;
|
|
30
32
|
/**
|
|
31
|
-
* A unique
|
|
33
|
+
* A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
|
|
32
34
|
*/
|
|
33
|
-
|
|
35
|
+
projectNumber: number;
|
|
34
36
|
/**
|
|
35
37
|
* The root directory of the project.
|
|
36
38
|
* Only available after `.activate()` has completed
|
|
@@ -171,9 +173,15 @@ export interface LspProject {
|
|
|
171
173
|
}
|
|
172
174
|
export interface ProjectConfig {
|
|
173
175
|
/**
|
|
174
|
-
*
|
|
176
|
+
* A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
|
|
177
|
+
*
|
|
178
|
+
* For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
|
|
179
|
+
*/
|
|
180
|
+
projectKey: string;
|
|
181
|
+
/**
|
|
182
|
+
* The directory for the root of this project (typically where the bsconfig.json or manifest is located)
|
|
175
183
|
*/
|
|
176
|
-
|
|
184
|
+
projectDir: string;
|
|
177
185
|
/**
|
|
178
186
|
* Path to the workspace in which all project files reside or are referenced by
|
|
179
187
|
*/
|
|
@@ -189,7 +197,7 @@ export interface ProjectConfig {
|
|
|
189
197
|
/**
|
|
190
198
|
* Path to a bsconfig that should be used instead of the auto-discovery algorithm. If this is present, no bsconfig discovery should be used. and an error should be emitted if this file is missing
|
|
191
199
|
*/
|
|
192
|
-
bsconfigPath
|
|
200
|
+
bsconfigPath: string | undefined;
|
|
193
201
|
/**
|
|
194
202
|
* Should this project run in its own dedicated worker thread
|
|
195
203
|
* TODO - is there a better name for this?
|
package/dist/lsp/Project.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import type { Logger } from '../logging';
|
|
|
9
9
|
export declare class Project implements LspProject {
|
|
10
10
|
constructor(options?: {
|
|
11
11
|
logger?: Logger;
|
|
12
|
-
projectIdentifier?: string;
|
|
13
12
|
});
|
|
14
13
|
/**
|
|
15
14
|
* Activates this project. Every call to `activate` should completely reset the project, clear all used ram and start from scratch.
|
|
@@ -130,17 +129,19 @@ export declare class Project implements LspProject {
|
|
|
130
129
|
*/
|
|
131
130
|
private builder;
|
|
132
131
|
/**
|
|
133
|
-
*
|
|
132
|
+
* A unique key to represent this project. The format of this key may change, but it will always be unique to this project and can be used for comparison purposes.
|
|
133
|
+
*
|
|
134
|
+
* For directory-only projects, this is the path to the dir. For bsconfig.json projects, this is the path to the config file (typically bsconfig.json).
|
|
134
135
|
*/
|
|
135
|
-
|
|
136
|
+
projectKey: string;
|
|
136
137
|
/**
|
|
137
|
-
*
|
|
138
|
+
* The directory for the root of this project (typically where the bsconfig.json or manifest is located)
|
|
138
139
|
*/
|
|
139
|
-
|
|
140
|
+
projectDir: string;
|
|
140
141
|
/**
|
|
141
|
-
* A unique
|
|
142
|
+
* A unique number for this project, generated during this current language server session. Mostly used so we can identify which project is doing logging
|
|
142
143
|
*/
|
|
143
|
-
|
|
144
|
+
projectNumber: number;
|
|
144
145
|
/**
|
|
145
146
|
* The path to the workspace where this project resides. A workspace can have multiple projects (by adding a bsconfig.json to each folder).
|
|
146
147
|
* Defaults to `.projectPath` if not set
|
package/dist/lsp/Project.js
CHANGED
|
@@ -15,7 +15,7 @@ const logging_1 = require("../logging");
|
|
|
15
15
|
const fsExtra = require("fs-extra");
|
|
16
16
|
class Project {
|
|
17
17
|
constructor(options) {
|
|
18
|
-
var _a
|
|
18
|
+
var _a;
|
|
19
19
|
this.isStandaloneProject = false;
|
|
20
20
|
/**
|
|
21
21
|
* Gets resolved when the project has finished activating
|
|
@@ -27,15 +27,15 @@ class Project {
|
|
|
27
27
|
//when running inside a worker thread, we don't want to use colors
|
|
28
28
|
enableColor: false
|
|
29
29
|
});
|
|
30
|
-
this.projectIdentifier = (_b = options === null || options === void 0 ? void 0 : options.projectIdentifier) !== null && _b !== void 0 ? _b : '';
|
|
31
30
|
}
|
|
32
31
|
/**
|
|
33
32
|
* Activates this project. Every call to `activate` should completely reset the project, clear all used ram and start from scratch.
|
|
34
33
|
*/
|
|
35
34
|
async activate(options) {
|
|
36
|
-
this.logger.info(
|
|
35
|
+
this.logger.info(`Project.activate. projectKey: ${options.projectKey}`);
|
|
37
36
|
this.activateOptions = options;
|
|
38
|
-
this.
|
|
37
|
+
this.projectKey = options.projectKey ? util_1.default.standardizePath(options.projectKey) : options.projectKey;
|
|
38
|
+
this.projectDir = options.projectDir ? util_1.default.standardizePath(options.projectDir) : options.projectDir;
|
|
39
39
|
this.workspaceFolder = options.workspaceFolder ? util_1.default.standardizePath(options.workspaceFolder) : options.workspaceFolder;
|
|
40
40
|
this.projectNumber = options.projectNumber;
|
|
41
41
|
this.bsconfigPath = await this.getConfigFilePath(options);
|
|
@@ -43,7 +43,7 @@ class Project {
|
|
|
43
43
|
//share our logger with ProgramBuilder, which will keep our level in sync with the one in the program
|
|
44
44
|
logger: this.logger
|
|
45
45
|
});
|
|
46
|
-
this.builder.logger.prefix =
|
|
46
|
+
this.builder.logger.prefix = util_1.default.getProjectLogName(this);
|
|
47
47
|
this.disposables.push(this.builder);
|
|
48
48
|
let cwd;
|
|
49
49
|
//if the config file exists, use it and its folder as cwd
|
|
@@ -56,7 +56,7 @@ class Project {
|
|
|
56
56
|
catch (_a) { }
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
|
-
cwd = this.
|
|
59
|
+
cwd = this.projectDir;
|
|
60
60
|
//config file doesn't exist...let `brighterscript` resolve the default way
|
|
61
61
|
this.bsconfigPath = undefined;
|
|
62
62
|
}
|
|
@@ -379,32 +379,32 @@ class Project {
|
|
|
379
379
|
* @returns path to bsconfig.json, or undefined if unable to find it
|
|
380
380
|
*/
|
|
381
381
|
async getConfigFilePath(config) {
|
|
382
|
-
let
|
|
382
|
+
let bsconfigPath;
|
|
383
383
|
//if there's a setting, we need to find the file or show error if it can't be found
|
|
384
|
-
if (config === null || config === void 0 ? void 0 : config.
|
|
385
|
-
|
|
386
|
-
if (await util_1.default.pathExists(
|
|
387
|
-
return util_1.default.standardizePath(
|
|
384
|
+
if (config === null || config === void 0 ? void 0 : config.bsconfigPath) {
|
|
385
|
+
bsconfigPath = path.resolve(config.projectDir, config.bsconfigPath);
|
|
386
|
+
if (await util_1.default.pathExists(bsconfigPath)) {
|
|
387
|
+
return util_1.default.standardizePath(bsconfigPath);
|
|
388
388
|
}
|
|
389
389
|
else {
|
|
390
390
|
this.emit('critical-failure', {
|
|
391
|
-
message: `Cannot find config file specified in user or workspace settings at '${
|
|
391
|
+
message: `Cannot find config file specified in user or workspace settings at '${bsconfigPath}'`
|
|
392
392
|
});
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
|
-
//the rest of these require a
|
|
396
|
-
if (!(config === null || config === void 0 ? void 0 : config.
|
|
395
|
+
//the rest of these require a path to a project directory, so return early if we don't have one
|
|
396
|
+
if (!(config === null || config === void 0 ? void 0 : config.projectDir)) {
|
|
397
397
|
return undefined;
|
|
398
398
|
}
|
|
399
399
|
//default to config file path found in the root of the workspace
|
|
400
|
-
|
|
401
|
-
if (await util_1.default.pathExists(
|
|
402
|
-
return util_1.default.standardizePath(
|
|
400
|
+
bsconfigPath = (0, util_1.standardizePath) `${config.projectDir}/bsconfig.json`;
|
|
401
|
+
if (await util_1.default.pathExists(bsconfigPath)) {
|
|
402
|
+
return util_1.default.standardizePath(bsconfigPath);
|
|
403
403
|
}
|
|
404
404
|
//look for the deprecated `brsconfig.json` file
|
|
405
|
-
|
|
406
|
-
if (await util_1.default.pathExists(
|
|
407
|
-
return util_1.default.standardizePath(
|
|
405
|
+
bsconfigPath = (0, util_1.standardizePath) `${config.projectDir}/brsconfig.json`;
|
|
406
|
+
if (await util_1.default.pathExists(bsconfigPath)) {
|
|
407
|
+
return util_1.default.standardizePath(bsconfigPath);
|
|
408
408
|
}
|
|
409
409
|
//no config file could be found
|
|
410
410
|
return undefined;
|