brighterscript 1.0.0-alpha.52 → 1.0.0-alpha.53

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 (163) hide show
  1. package/README.md +5 -3
  2. package/bsconfig.schema.json +151 -0
  3. package/dist/BsConfig.d.ts +158 -44
  4. package/dist/BsConfig.js +24 -0
  5. package/dist/BsConfig.js.map +1 -1
  6. package/dist/BusyStatusTracker.js +3 -0
  7. package/dist/BusyStatusTracker.js.map +1 -1
  8. package/dist/CrossScopeValidator.js +5 -0
  9. package/dist/CrossScopeValidator.js.map +1 -1
  10. package/dist/DiagnosticFilterer.d.ts +17 -1
  11. package/dist/DiagnosticFilterer.js +69 -6
  12. package/dist/DiagnosticFilterer.js.map +1 -1
  13. package/dist/DiagnosticManager.d.ts +11 -1
  14. package/dist/DiagnosticManager.js +22 -3
  15. package/dist/DiagnosticManager.js.map +1 -1
  16. package/dist/DiagnosticMessages.d.ts +93 -4
  17. package/dist/DiagnosticMessages.js +91 -5
  18. package/dist/DiagnosticMessages.js.map +1 -1
  19. package/dist/LanguageServer.d.ts +15 -3
  20. package/dist/LanguageServer.js +53 -6
  21. package/dist/LanguageServer.js.map +1 -1
  22. package/dist/Logger.d.ts +7 -7
  23. package/dist/Logger.js +2 -2
  24. package/dist/Logger.js.map +1 -1
  25. package/dist/PluginInterface.js +2 -1
  26. package/dist/PluginInterface.js.map +1 -1
  27. package/dist/Program.d.ts +106 -9
  28. package/dist/Program.js +273 -23
  29. package/dist/Program.js.map +1 -1
  30. package/dist/ProgramBuilder.js +6 -0
  31. package/dist/ProgramBuilder.js.map +1 -1
  32. package/dist/RokuConstants.d.ts +123 -0
  33. package/dist/RokuConstants.js +87 -0
  34. package/dist/RokuConstants.js.map +1 -0
  35. package/dist/ScopeNamespaceLookup.js.map +1 -1
  36. package/dist/Stopwatch.js +2 -2
  37. package/dist/Stopwatch.js.map +1 -1
  38. package/dist/SymbolTable.d.ts +1 -0
  39. package/dist/SymbolTable.js +20 -12
  40. package/dist/SymbolTable.js.map +1 -1
  41. package/dist/Throttler.d.ts +1 -1
  42. package/dist/Throttler.js.map +1 -1
  43. package/dist/astUtils/reflection.d.ts +6 -1
  44. package/dist/astUtils/reflection.js +15 -4
  45. package/dist/astUtils/reflection.js.map +1 -1
  46. package/dist/astUtils/visitors.d.ts +1 -1
  47. package/dist/astUtils/visitors.js +2 -0
  48. package/dist/astUtils/visitors.js.map +1 -1
  49. package/dist/bscPlugin/BscPlugin.d.ts +2 -2
  50. package/dist/bscPlugin/BscPlugin.js +1 -1
  51. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  52. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  53. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
  54. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +3 -3
  55. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -1
  56. package/dist/bscPlugin/completions/CompletionsProcessor.js +2 -3
  57. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  58. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +67 -2
  59. package/dist/bscPlugin/definition/DefinitionProvider.js +244 -5
  60. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
  61. package/dist/bscPlugin/references/ReferencesProvider.js +7 -1
  62. package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -1
  63. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +40 -6
  64. package/dist/bscPlugin/validation/BrsFileValidator.js +109 -18
  65. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  66. package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
  67. package/dist/bscPlugin/validation/ProgramValidator.js +54 -0
  68. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
  69. package/dist/bscPlugin/validation/ScopeValidator.js +55 -30
  70. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  71. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +18 -0
  72. package/dist/bscPlugin/validation/XmlFileValidator.js +51 -0
  73. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  74. package/dist/cli.js.map +1 -1
  75. package/dist/diagnosticUtils.d.ts +1 -1
  76. package/dist/diagnosticUtils.js.map +1 -1
  77. package/dist/files/BrsFile.d.ts +2 -2
  78. package/dist/files/BrsFile.js +2 -2
  79. package/dist/files/BrsFile.js.map +1 -1
  80. package/dist/files/XmlFile.d.ts +51 -1
  81. package/dist/files/XmlFile.js +264 -0
  82. package/dist/files/XmlFile.js.map +1 -1
  83. package/dist/formatUtils.d.ts +20 -0
  84. package/dist/formatUtils.js +38 -0
  85. package/dist/formatUtils.js.map +1 -0
  86. package/dist/globalCallables.d.ts +1 -1
  87. package/dist/globalCallables.js +4 -1
  88. package/dist/globalCallables.js.map +1 -1
  89. package/dist/interfaces.d.ts +60 -5
  90. package/dist/interfaces.js.map +1 -1
  91. package/dist/lexer/Lexer.d.ts +26 -0
  92. package/dist/lexer/Lexer.js +140 -15
  93. package/dist/lexer/Lexer.js.map +1 -1
  94. package/dist/lexer/TokenKind.d.ts +27 -0
  95. package/dist/lexer/TokenKind.js +77 -3
  96. package/dist/lexer/TokenKind.js.map +1 -1
  97. package/dist/lsp/ActionQueue.js +1 -2
  98. package/dist/lsp/ActionQueue.js.map +1 -1
  99. package/dist/lsp/DocumentManager.js +4 -0
  100. package/dist/lsp/DocumentManager.js.map +1 -1
  101. package/dist/lsp/LspProject.d.ts +2 -2
  102. package/dist/lsp/Project.d.ts +2 -2
  103. package/dist/lsp/Project.js +2 -0
  104. package/dist/lsp/Project.js.map +1 -1
  105. package/dist/lsp/ProjectManager.d.ts +7 -2
  106. package/dist/lsp/ProjectManager.js +3 -1
  107. package/dist/lsp/ProjectManager.js.map +1 -1
  108. package/dist/lsp/worker/MessageHandler.d.ts +1 -0
  109. package/dist/lsp/worker/MessageHandler.js +9 -0
  110. package/dist/lsp/worker/MessageHandler.js.map +1 -1
  111. package/dist/lsp/worker/WorkerPool.d.ts +51 -17
  112. package/dist/lsp/worker/WorkerPool.js +118 -40
  113. package/dist/lsp/worker/WorkerPool.js.map +1 -1
  114. package/dist/lsp/worker/WorkerThreadProject.d.ts +16 -3
  115. package/dist/lsp/worker/WorkerThreadProject.js +50 -10
  116. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  117. package/dist/lsp/worker/WorkerThreadProjectRunner.js +6 -0
  118. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -1
  119. package/dist/lsp/worker/run.js +20 -3
  120. package/dist/lsp/worker/run.js.map +1 -1
  121. package/dist/parser/AstNode.d.ts +59 -2
  122. package/dist/parser/AstNode.js +63 -5
  123. package/dist/parser/AstNode.js.map +1 -1
  124. package/dist/parser/BrsTranspileState.d.ts +44 -0
  125. package/dist/parser/BrsTranspileState.js +49 -0
  126. package/dist/parser/BrsTranspileState.js.map +1 -1
  127. package/dist/parser/Expression.d.ts +56 -8
  128. package/dist/parser/Expression.js +91 -8
  129. package/dist/parser/Expression.js.map +1 -1
  130. package/dist/parser/Parser.d.ts +0 -5
  131. package/dist/parser/Parser.js +5 -9
  132. package/dist/parser/Parser.js.map +1 -1
  133. package/dist/parser/SGParser.d.ts +7 -1
  134. package/dist/parser/SGParser.js +20 -10
  135. package/dist/parser/SGParser.js.map +1 -1
  136. package/dist/parser/SGTypes.js +8 -2
  137. package/dist/parser/SGTypes.js.map +1 -1
  138. package/dist/parser/Statement.d.ts +21 -10
  139. package/dist/parser/Statement.js +61 -1
  140. package/dist/parser/Statement.js.map +1 -1
  141. package/dist/preprocessor/Manifest.d.ts +16 -0
  142. package/dist/preprocessor/Manifest.js +21 -5
  143. package/dist/preprocessor/Manifest.js.map +1 -1
  144. package/dist/roku-types/index.d.ts +3 -0
  145. package/dist/types/BuiltInInterfaceAdder.js +1 -1
  146. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  147. package/dist/types/InheritableType.d.ts +0 -1
  148. package/dist/types/InheritableType.js +12 -11
  149. package/dist/types/InheritableType.js.map +1 -1
  150. package/dist/types/InterfaceType.js +6 -0
  151. package/dist/types/InterfaceType.js.map +1 -1
  152. package/dist/types/IntersectionType.d.ts +1 -1
  153. package/dist/types/IntersectionType.js +7 -7
  154. package/dist/types/IntersectionType.js.map +1 -1
  155. package/dist/types/ReferenceType.js +1 -1
  156. package/dist/types/ReferenceType.js.map +1 -1
  157. package/dist/types/helpers.d.ts +2 -2
  158. package/dist/types/helpers.js +8 -5
  159. package/dist/types/helpers.js.map +1 -1
  160. package/dist/util.d.ts +38 -4
  161. package/dist/util.js +296 -29
  162. package/dist/util.js.map +1 -1
  163. package/package.json +12 -18
@@ -1115,7 +1115,85 @@ exports.DiagnosticMessages = {
1115
1115
  severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1116
1116
  code: 'mismatched-ending-token'
1117
1117
  };
1118
- }
1118
+ },
1119
+ /**
1120
+ * Callable was marked removed in `availability.os` or `availability.rsg`, and the project's
1121
+ * effective firmware/rsg_version meets that threshold. The call is a hard error on device.
1122
+ */
1123
+ globalCallableRemoved: (name = '', axis = 'os', threshold = '', current = '') => ({
1124
+ message: `'${name}' is removed in ${formatAvailabilityAxis(axis, threshold)} or higher (current target is ${current})`,
1125
+ legacyCode: 1149,
1126
+ data: { name: name, axis: axis, threshold: threshold, current: current },
1127
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1128
+ code: 'global-callable-removed'
1129
+ }),
1130
+ /**
1131
+ * Callable was marked deprecated in `availability.os` or `availability.rsg`, and the project's
1132
+ * effective firmware/rsg_version meets that threshold. The call still works but should
1133
+ * be migrated.
1134
+ */
1135
+ globalCallableDeprecated: (name = '', axis = 'os', threshold = '', current = '') => ({
1136
+ message: `'${name}' is deprecated as of ${formatAvailabilityAxis(axis, threshold)} (current target is ${current})`,
1137
+ legacyCode: 1150,
1138
+ data: { name: name, axis: axis, threshold: threshold, current: current },
1139
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1140
+ code: 'global-callable-deprecated'
1141
+ }),
1142
+ rsgVersionRequiresMinFirmware: (rsgVersion, requiredFirmware, configuredFirmware) => ({
1143
+ message: `rsg_version=${rsgVersion} requires Roku firmware version ${requiredFirmware} or higher (current target is ${configuredFirmware})`,
1144
+ legacyCode: 1151,
1145
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1146
+ code: 'rsg-version-requires-min-firmware'
1147
+ }),
1148
+ invalidRsgVersionFormat: (value) => ({
1149
+ message: `'${value}' is not a valid rsg_version (expected value like '1.2' or '1.3')`,
1150
+ legacyCode: 1152,
1151
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1152
+ code: 'invalid-rsg-version-format'
1153
+ }),
1154
+ rsgVersionDeprecated: (rsgVersion, suggestedReplacement) => ({
1155
+ message: `rsg_version=${rsgVersion} is deprecated; consider upgrading to rsg_version=${suggestedReplacement}`,
1156
+ legacyCode: 1153,
1157
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1158
+ code: 'rsg-version-deprecated'
1159
+ }),
1160
+ rsgVersionRemoved: (rsgVersion, removedAt, replacement) => ({
1161
+ message: `rsg_version=${rsgVersion} was removed in firmware ${removedAt}; use rsg_version=${replacement}`,
1162
+ legacyCode: 1154,
1163
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1164
+ code: 'rsg-version-removed'
1165
+ }),
1166
+ deprecatedBsConfigOption: (optionName) => ({
1167
+ message: `'${optionName}' is deprecated at the top level of bsconfig.json. Move it into 'compilerOptions.${optionName}' instead`,
1168
+ legacyCode: 1155,
1169
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1170
+ code: 'deprecated-bsconfig-option'
1171
+ }),
1172
+ diagnosticFilterLooksLikeFilePath: (value) => ({
1173
+ message: `Diagnostic filter "${value}" looks like a file path or glob, not a diagnostic code. To filter diagnostics by file, use the "files" property instead: { "files": ["${value}"] }`,
1174
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1175
+ code: 'diagnostic-filter-looks-like-file-path'
1176
+ }),
1177
+ xmlTagMismatch: (openingTag, closingTag) => ({
1178
+ message: `Mismatched closing tag: expected '</${openingTag}>' but found '</${closingTag}>'`,
1179
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1180
+ code: 'xml-tag-mismatch'
1181
+ }),
1182
+ /**
1183
+ * @param name the full name of the function, including namespace
1184
+ * @param length the actual length of `name`
1185
+ * @param maxLength the maximum length a function name may be before it gets truncated by the device at runtime
1186
+ */
1187
+ functionNameTooLong: (name, length, maxLength) => ({
1188
+ message: `Function name '${name}' is ${length} characters long, which exceeds the maximum of ${maxLength}. It will be truncated when converted with ToStr()`,
1189
+ severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
1190
+ code: 'function-name-too-long'
1191
+ }),
1192
+ xmlTagWrongCase: (actualTag, expectedTag) => ({
1193
+ message: `Tag '${actualTag}' must be all lower case. Use '${expectedTag}' instead`,
1194
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1195
+ code: 'xml-tag-wrong-case'
1196
+ })
1119
1197
  };
1120
1198
  exports.defaultMaximumTruncationLength = 160;
1121
1199
  function typeCompatibilityMessage(actualTypeString, expectedTypeString, data) {
@@ -1214,14 +1292,22 @@ function incompatibleSymbolMessage(symbolName, options) {
1214
1292
  return message;
1215
1293
  }
1216
1294
  exports.incompatibleSymbolMessage = incompatibleSymbolMessage;
1295
+ function formatAvailabilityAxis(axis, version) {
1296
+ return axis === 'os' ? `Roku OS ${version}` : `rsg_version=${version}`;
1297
+ }
1217
1298
  exports.DiagnosticCodeMap = {};
1218
1299
  exports.DiagnosticLegacyCodeMap = {};
1219
1300
  exports.diagnosticCodes = [];
1220
1301
  for (let key in exports.DiagnosticMessages) {
1221
- exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().code);
1222
- exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().legacyCode);
1223
- exports.DiagnosticCodeMap[key] = exports.DiagnosticMessages[key]().code;
1224
- exports.DiagnosticLegacyCodeMap[key] = exports.DiagnosticMessages[key]().legacyCode;
1302
+ const typedKey = key;
1303
+ //every factory returns an object with `code`/`legacyCode` properties regardless of its specific (possibly required)
1304
+ //arguments, so it's safe to call each one with no arguments purely to read those codes off the result
1305
+ const getCodes = exports.DiagnosticMessages[typedKey];
1306
+ const codes = getCodes();
1307
+ exports.diagnosticCodes.push(codes.code);
1308
+ exports.diagnosticCodes.push(codes.legacyCode);
1309
+ exports.DiagnosticCodeMap[typedKey] = codes.code;
1310
+ exports.DiagnosticLegacyCodeMap[typedKey] = codes.legacyCode;
1225
1311
  }
1226
1312
  /**
1227
1313
  * Refines a diagnostic to its concrete `DiagnosticMessageType<K>` shape (including the typed `data`
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticMessages.js","sourceRoot":"","sources":["../src/DiagnosticMessages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiagnosticMessages.js","sourceRoot":"","sources":["../src/DiagnosticMessages.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import 'array-flat-polyfill';
2
1
  import type { CompletionItem, DidChangeWatchedFilesParams, InitializeParams, TextDocumentPositionParams, ExecuteCommandParams, WorkspaceSymbolParams, DocumentSymbolParams, ReferenceParams, SignatureHelpParams, CodeActionParams, HandlerResult, InitializeError, InitializeResult, CompletionParams, ResultProgressReporter, WorkDoneProgressReporter, CompletionList, CancellationToken, DidChangeConfigurationParams, SelectionRangeParams, RenameFilesParams, WorkspaceEdit, InlayHint, InlayHintParams } from 'vscode-languageserver/node';
3
2
  import { LogLevel } from './logging';
4
3
  export declare class LanguageServer {
@@ -14,6 +13,12 @@ export declare class LanguageServer {
14
13
  * The default number of projects that are permitted to activate concurrently.
15
14
  */
16
15
  private static projectActivationConcurrencyLimitDefault;
16
+ /**
17
+ * The default maximum number of worker threads to use for running LSP projects. Can be overridden by
18
+ * per-workspace settings. Once this limit is reached, additional projects are spread evenly across the
19
+ * existing worker threads instead of each getting a dedicated one.
20
+ */
21
+ static maxWorkerThreadsDefault: number;
17
22
  /**
18
23
  * The language server protocol connection, used to send and receive all requests and responses
19
24
  */
@@ -38,7 +43,7 @@ export declare class LanguageServer {
38
43
  * This is used to prevent the language server from being overwhelmed by files we don't actually want to handle
39
44
  */
40
45
  private pathFilterer;
41
- logger: import("@rokucommunity/logger/dist/Logger").Logger;
46
+ logger: import("@rokucommunity/logger").Logger;
42
47
  constructor();
43
48
  run(): void;
44
49
  /**
@@ -59,6 +64,12 @@ export declare class LanguageServer {
59
64
  * we respect the most restrictive limit to avoid overwhelming the user's machine.
60
65
  */
61
66
  private syncProjectActivationConcurrencyLimit;
67
+ /**
68
+ * Get the max worker threads setting from all workspaces and set the worker pool's cap to the lowest value found.
69
+ * This ensures that if the user has multiple workspaces open with different limits,
70
+ * we respect the most restrictive limit to avoid overwhelming the user's machine.
71
+ */
72
+ private syncMaxWorkerThreads;
62
73
  private onTextDocumentDidChangeContent;
63
74
  /**
64
75
  * Pending file changes waiting to be flushed after the debounce period
@@ -112,7 +123,7 @@ export declare class LanguageServer {
112
123
  onSelectionRanges(params: SelectionRangeParams): Promise<import("vscode-languageserver-types").SelectionRange[]>;
113
124
  onInlayHint(params: InlayHintParams): Promise<InlayHint[]>;
114
125
  onDocumentSymbol(params: DocumentSymbolParams): Promise<import("vscode-languageserver-types").DocumentSymbol[]>;
115
- onDefinition(params: TextDocumentPositionParams): Promise<import("vscode-languageserver-types").Location[]>;
126
+ onDefinition(params: TextDocumentPositionParams): Promise<(import("vscode-languageserver-types").Location | import("vscode-languageserver-types").LocationLink)[]>;
116
127
  onSignatureHelp(params: SignatureHelpParams): Promise<import("vscode-languageserver-types").SignatureHelp>;
117
128
  onReferences(params: ReferenceParams): Promise<import("vscode-languageserver-types").Location[]>;
118
129
  onWillRenameFiles(params: RenameFilesParams): Promise<WorkspaceEdit | null>;
@@ -187,6 +198,7 @@ export interface BrightScriptClientConfiguration {
187
198
  logLevel: LogLevel | string;
188
199
  projectDiscoveryMaxDepth?: number;
189
200
  projectActivationConcurrencyLimit?: number;
201
+ maxWorkerThreads?: number;
190
202
  };
191
203
  }
192
204
  export {};
@@ -8,7 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.NotificationName = exports.CustomCommands = exports.LanguageServer = void 0;
10
10
  const path = require("path");
11
- require("array-flat-polyfill");
12
11
  const node_1 = require("vscode-languageserver/node");
13
12
  const vscode_uri_1 = require("vscode-uri");
14
13
  const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
@@ -23,6 +22,7 @@ const ProjectManager_1 = require("./lsp/ProjectManager");
23
22
  const fsExtra = require("fs-extra");
24
23
  const deferred_1 = require("./deferred");
25
24
  const WorkerThreadProject_1 = require("./lsp/worker/WorkerThreadProject");
25
+ const WorkerPool_1 = require("./lsp/worker/WorkerPool");
26
26
  // eslint-disable-next-line @typescript-eslint/no-require-imports
27
27
  const isEqual = require("lodash.isequal");
28
28
  class LanguageServer {
@@ -70,6 +70,12 @@ class LanguageServer {
70
70
  this.logger.debug(`Received ${event.diagnostics.length} diagnostics from project ${event.project.projectNumber}`);
71
71
  this.sendDiagnostics(event).catch(logAndIgnoreError);
72
72
  });
73
+ //notify the client if a project's worker thread crashes unexpectedly
74
+ this.projectManager.on('critical-failure', (event) => {
75
+ const message = `[${util_1.util.getProjectLogName(event.project)}] ${event.message}`;
76
+ this.logger.error(message);
77
+ this.sendCriticalFailure(message);
78
+ });
73
79
  // Send all open document changes whenever a project is activated. This is necessary because at project startup, the project loads files from disk
74
80
  // and may not have the latest unsaved file changes. Any existing projects that already use these files will just ignore the changes
75
81
  // because the file contents haven't changed.
@@ -142,8 +148,8 @@ class LanguageServer {
142
148
  // Tell the client that the server supports code completion
143
149
  completionProvider: {
144
150
  resolveProvider: false,
145
- //anytime the user types a period, auto-show the completion results
146
- triggerCharacters: ['.'],
151
+ //`.` auto-shows brightscript completions; `<` auto-shows xml element completions
152
+ triggerCharacters: ['.', '<'],
147
153
  allCommitCharacters: ['.', '@']
148
154
  },
149
155
  documentSymbolProvider: true,
@@ -197,6 +203,7 @@ class LanguageServer {
197
203
  //set our logger to the most verbose logLevel found across any project
198
204
  await this.syncLogLevel();
199
205
  this.syncProjectActivationConcurrencyLimit();
206
+ this.syncMaxWorkerThreads();
200
207
  try {
201
208
  if (this.hasConfigurationCapability) {
202
209
  // register for when the user changes workspace or user settings
@@ -296,6 +303,29 @@ class LanguageServer {
296
303
  concurrencyLimit = 1;
297
304
  }
298
305
  this.projectManager.projectActivationConcurrencyLimit = concurrencyLimit;
306
+ this.logger.info(`projectActivationConcurrencyLimit set to ${concurrencyLimit}`);
307
+ }
308
+ /**
309
+ * Get the max worker threads setting from all workspaces and set the worker pool's cap to the lowest value found.
310
+ * This ensures that if the user has multiple workspaces open with different limits,
311
+ * we respect the most restrictive limit to avoid overwhelming the user's machine.
312
+ */
313
+ syncMaxWorkerThreads() {
314
+ const limits = [...this.workspaceConfigsCache]
315
+ .map(x => { var _a, _b; return (_b = (_a = x === null || x === void 0 ? void 0 : x[1]) === null || _a === void 0 ? void 0 : _a.languageServer) === null || _b === void 0 ? void 0 : _b.maxWorkerThreads; })
316
+ .filter(x => typeof x === 'number');
317
+ //if we don't have any limits defined, use our default value
318
+ if (limits.length === 0) {
319
+ limits.push(LanguageServer.maxWorkerThreadsDefault);
320
+ }
321
+ let maxWorkerThreads = Math.min(...limits);
322
+ //we must always support at least 1 worker, otherwise no threaded projects could ever activate
323
+ if (!(maxWorkerThreads >= 1)) {
324
+ this.logger.log(`maxWorkerThreads was set to ${maxWorkerThreads}, which is not a valid value. Defaulting to 1.`);
325
+ maxWorkerThreads = 1;
326
+ }
327
+ WorkerThreadProject_1.workerPool.maxWorkers = maxWorkerThreads;
328
+ this.logger.info(`maxWorkerThreads set to ${maxWorkerThreads}`);
299
329
  }
300
330
  async onTextDocumentDidChangeContent(event) {
301
331
  this.logger.debug('onTextDocumentDidChangeContent', event.document.uri);
@@ -375,8 +405,17 @@ class LanguageServer {
375
405
  * Provide a list of completion items based on the current cursor position
376
406
  */
377
407
  async onCompletion(params, cancellationToken, workDoneProgress, resultProgress) {
408
+ var _a;
378
409
  this.logger.debug('onCompletion', params, cancellationToken);
379
410
  const srcPath = util_1.util.uriToPath(params.textDocument.uri);
411
+ //`<` is registered as a trigger character for xml element completions, but it's the less-than
412
+ //operator everywhere else, so ignore it for non-xml files
413
+ if (((_a = params.context) === null || _a === void 0 ? void 0 : _a.triggerCharacter) === '<' && !srcPath.toLowerCase().endsWith('.xml')) {
414
+ return {
415
+ items: [],
416
+ isIncomplete: false
417
+ };
418
+ }
380
419
  const completions = await this.projectManager.getCompletions({
381
420
  srcPath: srcPath,
382
421
  position: params.position,
@@ -392,7 +431,7 @@ class LanguageServer {
392
431
  var _a;
393
432
  //get all workspace folders (we'll use these to get settings)
394
433
  let workspaces = await Promise.all(((_a = await this.connection.workspace.getWorkspaceFolders()) !== null && _a !== void 0 ? _a : []).map(async (x) => {
395
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
434
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
396
435
  const workspaceFolder = util_1.util.uriToPath(x.uri);
397
436
  const brightscriptConfig = await this.getClientConfiguration(x.uri, 'brightscript');
398
437
  return {
@@ -405,7 +444,8 @@ class LanguageServer {
405
444
  projectDiscoveryMaxDepth: (_f = (_e = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _e === void 0 ? void 0 : _e.projectDiscoveryMaxDepth) !== null && _f !== void 0 ? _f : 15,
406
445
  projectDiscoveryExclude: (_g = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _g === void 0 ? void 0 : _g.projectDiscoveryExclude,
407
446
  logLevel: (_h = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _h === void 0 ? void 0 : _h.logLevel,
408
- projectActivationConcurrencyLimit: (_j = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _j === void 0 ? void 0 : _j.projectActivationConcurrencyLimit
447
+ projectActivationConcurrencyLimit: (_j = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _j === void 0 ? void 0 : _j.projectActivationConcurrencyLimit,
448
+ maxWorkerThreads: (_k = brightscriptConfig === null || brightscriptConfig === void 0 ? void 0 : brightscriptConfig.languageServer) === null || _k === void 0 ? void 0 : _k.maxWorkerThreads
409
449
  }
410
450
  };
411
451
  }));
@@ -436,6 +476,7 @@ class LanguageServer {
436
476
  //now that we've processed any config diffs, update the cached copy of them
437
477
  this.workspaceConfigsCache = configs;
438
478
  this.syncProjectActivationConcurrencyLimit();
479
+ this.syncMaxWorkerThreads();
439
480
  //if configuration changed, rebuild the path filterer
440
481
  await this.rebuildPathFilterer();
441
482
  //if the user changes any user/workspace config settings, just mass-reload all projects
@@ -473,7 +514,7 @@ class LanguageServer {
473
514
  async onDefinition(params) {
474
515
  this.logger.debug('onDefinition', params);
475
516
  const srcPath = util_1.util.uriToPath(params.textDocument.uri);
476
- const result = this.projectManager.getDefinition({ srcPath: srcPath, position: params.position });
517
+ const result = await this.projectManager.getDefinition({ srcPath: srcPath, position: params.position });
477
518
  return result;
478
519
  }
479
520
  async onSignatureHelp(params) {
@@ -737,6 +778,12 @@ LanguageServer.enableProjectDiscoveryDefault = true;
737
778
  * The default number of projects that are permitted to activate concurrently.
738
779
  */
739
780
  LanguageServer.projectActivationConcurrencyLimitDefault = 3;
781
+ /**
782
+ * The default maximum number of worker threads to use for running LSP projects. Can be overridden by
783
+ * per-workspace settings. Once this limit is reached, additional projects are spread evenly across the
784
+ * existing worker threads instead of each getting a dedicated one.
785
+ */
786
+ LanguageServer.maxWorkerThreadsDefault = (0, WorkerPool_1.getDefaultMaxWorkerThreads)();
740
787
  __decorate([
741
788
  AddStackToErrorMessage
742
789
  ], 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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"}