brighterscript 1.0.0-alpha.44 → 1.0.0-alpha.45

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 (198) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/bsconfig.schema.json +6 -1
  3. package/dist/AstValidationSegmenter.js +6 -1
  4. package/dist/AstValidationSegmenter.js.map +1 -1
  5. package/dist/BsConfig.d.ts +4 -0
  6. package/dist/BusyStatusTracker.d.ts +37 -7
  7. package/dist/BusyStatusTracker.js +73 -8
  8. package/dist/BusyStatusTracker.js.map +1 -1
  9. package/dist/Cache.d.ts +0 -4
  10. package/dist/Cache.js +0 -6
  11. package/dist/Cache.js.map +1 -1
  12. package/dist/CrossScopeValidator.d.ts +1 -1
  13. package/dist/CrossScopeValidator.js +4 -4
  14. package/dist/CrossScopeValidator.js.map +1 -1
  15. package/dist/DiagnosticCollection.d.ts +19 -5
  16. package/dist/DiagnosticCollection.js +71 -23
  17. package/dist/DiagnosticCollection.js.map +1 -1
  18. package/dist/DiagnosticFilterer.d.ts +14 -1
  19. package/dist/DiagnosticFilterer.js +130 -12
  20. package/dist/DiagnosticFilterer.js.map +1 -1
  21. package/dist/DiagnosticManager.d.ts +11 -1
  22. package/dist/DiagnosticManager.js +192 -35
  23. package/dist/DiagnosticManager.js.map +1 -1
  24. package/dist/LanguageServer.d.ts +82 -139
  25. package/dist/LanguageServer.js +402 -980
  26. package/dist/LanguageServer.js.map +1 -1
  27. package/dist/Logger.d.ts +9 -4
  28. package/dist/Logger.js +30 -6
  29. package/dist/Logger.js.map +1 -1
  30. package/dist/PluginInterface.d.ts +8 -8
  31. package/dist/PluginInterface.js.map +1 -1
  32. package/dist/Program.d.ts +23 -4
  33. package/dist/Program.js +294 -194
  34. package/dist/Program.js.map +1 -1
  35. package/dist/ProgramBuilder.d.ts +22 -7
  36. package/dist/ProgramBuilder.js +44 -21
  37. package/dist/ProgramBuilder.js.map +1 -1
  38. package/dist/Scope.d.ts +11 -6
  39. package/dist/Scope.js +60 -36
  40. package/dist/Scope.js.map +1 -1
  41. package/dist/SemanticTokenUtils.js +1 -1
  42. package/dist/SemanticTokenUtils.js.map +1 -1
  43. package/dist/astUtils/reflection.d.ts +4 -4
  44. package/dist/astUtils/reflection.js +12 -10
  45. package/dist/astUtils/reflection.js.map +1 -1
  46. package/dist/bscPlugin/BscPlugin.d.ts +3 -3
  47. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  48. package/dist/bscPlugin/CallExpressionInfo.js +4 -2
  49. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  50. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
  51. package/dist/bscPlugin/completions/CompletionsProcessor.js +15 -15
  52. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  53. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +82 -5
  54. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
  55. package/dist/bscPlugin/hover/HoverProcessor.js +3 -0
  56. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  57. package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -1
  58. package/dist/bscPlugin/validation/ScopeValidator.js +161 -61
  59. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  60. package/dist/common/Sequencer.d.ts +53 -0
  61. package/dist/common/Sequencer.js +232 -0
  62. package/dist/common/Sequencer.js.map +1 -0
  63. package/dist/common/Sequencer.spec.d.ts +1 -0
  64. package/dist/common/Sequencer.spec.js +75 -0
  65. package/dist/common/Sequencer.spec.js.map +1 -0
  66. package/dist/deferred.d.ts +2 -0
  67. package/dist/deferred.js +10 -0
  68. package/dist/deferred.js.map +1 -1
  69. package/dist/examples/plugins/removePrint.d.ts +2 -2
  70. package/dist/examples/plugins/removePrint.js.map +1 -1
  71. package/dist/files/BrsFile.d.ts +1 -1
  72. package/dist/files/BrsFile.js +11 -40
  73. package/dist/files/BrsFile.js.map +1 -1
  74. package/dist/files/BrsFile.spec.js +51 -2
  75. package/dist/files/BrsFile.spec.js.map +1 -1
  76. package/dist/files/BscFile.d.ts +1 -0
  77. package/dist/files/LazyFileData.d.ts +1 -0
  78. package/dist/files/XmlFile.spec.js +1 -1
  79. package/dist/files/XmlFile.spec.js.map +1 -1
  80. package/dist/globalCallables.js +186 -186
  81. package/dist/globalCallables.js.map +1 -1
  82. package/dist/interfaces.d.ts +56 -13
  83. package/dist/interfaces.js.map +1 -1
  84. package/dist/lexer/Lexer.js +1 -1
  85. package/dist/lexer/Lexer.js.map +1 -1
  86. package/dist/logging.d.ts +6 -1
  87. package/dist/logging.js +14 -1
  88. package/dist/logging.js.map +1 -1
  89. package/dist/lsp/ActionQueue.d.ts +35 -0
  90. package/dist/lsp/ActionQueue.js +115 -0
  91. package/dist/lsp/ActionQueue.js.map +1 -0
  92. package/dist/lsp/ActionQueue.spec.d.ts +1 -0
  93. package/dist/lsp/ActionQueue.spec.js +80 -0
  94. package/dist/lsp/ActionQueue.spec.js.map +1 -0
  95. package/dist/lsp/DocumentManager.d.ts +63 -0
  96. package/dist/lsp/DocumentManager.js +122 -0
  97. package/dist/lsp/DocumentManager.js.map +1 -0
  98. package/dist/lsp/DocumentManager.spec.d.ts +1 -0
  99. package/dist/lsp/DocumentManager.spec.js +103 -0
  100. package/dist/lsp/DocumentManager.spec.js.map +1 -0
  101. package/dist/lsp/LspProject.d.ts +231 -0
  102. package/dist/lsp/LspProject.js +3 -0
  103. package/dist/lsp/LspProject.js.map +1 -0
  104. package/dist/lsp/PathFilterer.d.ts +75 -0
  105. package/dist/lsp/PathFilterer.js +196 -0
  106. package/dist/lsp/PathFilterer.js.map +1 -0
  107. package/dist/lsp/PathFilterer.spec.d.ts +1 -0
  108. package/dist/lsp/PathFilterer.spec.js +182 -0
  109. package/dist/lsp/PathFilterer.spec.js.map +1 -0
  110. package/dist/lsp/Project.d.ts +167 -0
  111. package/dist/lsp/Project.js +432 -0
  112. package/dist/lsp/Project.js.map +1 -0
  113. package/dist/lsp/Project.spec.d.ts +1 -0
  114. package/dist/lsp/Project.spec.js +220 -0
  115. package/dist/lsp/Project.spec.js.map +1 -0
  116. package/dist/lsp/ProjectManager.d.ts +221 -0
  117. package/dist/lsp/ProjectManager.js +735 -0
  118. package/dist/lsp/ProjectManager.js.map +1 -0
  119. package/dist/lsp/ProjectManager.spec.d.ts +1 -0
  120. package/dist/lsp/ProjectManager.spec.js +757 -0
  121. package/dist/lsp/ProjectManager.spec.js.map +1 -0
  122. package/dist/lsp/ReaderWriterManager.d.ts +21 -0
  123. package/dist/lsp/ReaderWriterManager.js +60 -0
  124. package/dist/lsp/ReaderWriterManager.js.map +1 -0
  125. package/dist/lsp/worker/MessageHandler.d.ts +99 -0
  126. package/dist/lsp/worker/MessageHandler.js +138 -0
  127. package/dist/lsp/worker/MessageHandler.js.map +1 -0
  128. package/dist/lsp/worker/MessageHandler.spec.d.ts +1 -0
  129. package/dist/lsp/worker/MessageHandler.spec.js +64 -0
  130. package/dist/lsp/worker/MessageHandler.spec.js.map +1 -0
  131. package/dist/lsp/worker/WorkerPool.d.ts +38 -0
  132. package/dist/lsp/worker/WorkerPool.js +78 -0
  133. package/dist/lsp/worker/WorkerPool.js.map +1 -0
  134. package/dist/lsp/worker/WorkerPool.spec.d.ts +1 -0
  135. package/dist/lsp/worker/WorkerPool.spec.js +59 -0
  136. package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
  137. package/dist/lsp/worker/WorkerThreadProject.d.ts +144 -0
  138. package/dist/lsp/worker/WorkerThreadProject.js +183 -0
  139. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
  140. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
  141. package/dist/lsp/worker/WorkerThreadProject.spec.js +68 -0
  142. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -0
  143. package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
  144. package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
  145. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
  146. package/dist/parser/Expression.js +7 -2
  147. package/dist/parser/Expression.js.map +1 -1
  148. package/dist/parser/Parser.spec.js +12 -0
  149. package/dist/parser/Parser.spec.js.map +1 -1
  150. package/dist/parser/Statement.js +2 -2
  151. package/dist/parser/Statement.js.map +1 -1
  152. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +51 -5
  153. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  154. package/dist/roku-types/data.json +745 -751
  155. package/dist/types/BooleanType.d.ts +0 -2
  156. package/dist/types/BooleanType.js +4 -6
  157. package/dist/types/BooleanType.js.map +1 -1
  158. package/dist/types/BscType.js +5 -0
  159. package/dist/types/BscType.js.map +1 -1
  160. package/dist/types/BuiltInInterfaceAdder.d.ts +1 -0
  161. package/dist/types/BuiltInInterfaceAdder.js +24 -17
  162. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  163. package/dist/types/DoubleType.d.ts +0 -2
  164. package/dist/types/DoubleType.js +4 -6
  165. package/dist/types/DoubleType.js.map +1 -1
  166. package/dist/types/DynamicType.d.ts +0 -2
  167. package/dist/types/DynamicType.js +3 -5
  168. package/dist/types/DynamicType.js.map +1 -1
  169. package/dist/types/FloatType.d.ts +0 -2
  170. package/dist/types/FloatType.js +4 -6
  171. package/dist/types/FloatType.js.map +1 -1
  172. package/dist/types/FunctionType.d.ts +0 -2
  173. package/dist/types/FunctionType.js +5 -7
  174. package/dist/types/FunctionType.js.map +1 -1
  175. package/dist/types/IntegerType.d.ts +0 -2
  176. package/dist/types/IntegerType.js +4 -6
  177. package/dist/types/IntegerType.js.map +1 -1
  178. package/dist/types/LongIntegerType.d.ts +0 -2
  179. package/dist/types/LongIntegerType.js +4 -6
  180. package/dist/types/LongIntegerType.js.map +1 -1
  181. package/dist/types/ObjectType.d.ts +3 -3
  182. package/dist/types/ObjectType.js +6 -8
  183. package/dist/types/ObjectType.js.map +1 -1
  184. package/dist/types/StringType.d.ts +0 -2
  185. package/dist/types/StringType.js +4 -6
  186. package/dist/types/StringType.js.map +1 -1
  187. package/dist/types/VoidType.d.ts +0 -2
  188. package/dist/types/VoidType.js +4 -6
  189. package/dist/types/VoidType.js.map +1 -1
  190. package/dist/types/helpers.d.ts +4 -0
  191. package/dist/types/helpers.js +5 -1
  192. package/dist/types/helpers.js.map +1 -1
  193. package/dist/util.d.ts +44 -16
  194. package/dist/util.js +196 -70
  195. package/dist/util.js.map +1 -1
  196. package/dist/validators/ClassValidator.js +2 -2
  197. package/dist/validators/ClassValidator.js.map +1 -1
  198. package/package.json +15 -5
@@ -1 +1 @@
1
- {"version":3,"file":"globalCallables.js","sourceRoot":"","sources":["../src/globalCallables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalCallables.js","sourceRoot":"","sources":["../src/globalCallables.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
- import type { Range, CodeAction, Position, CompletionItem, Location, DocumentSymbol, WorkspaceSymbol, DiagnosticSeverity, CodeDescription, DiagnosticTag, DiagnosticRelatedInformation } from 'vscode-languageserver-protocol';
2
+ /// <reference types="node" />
3
+ import type { Range, CodeAction, Position, CompletionItem, Location, DocumentSymbol, WorkspaceSymbol, Disposable, FileChangeType, CodeDescription, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag } from 'vscode-languageserver-protocol';
3
4
  import type { Scope } from './Scope';
4
5
  import type { BrsFile } from './files/BrsFile';
5
6
  import type { XmlFile } from './files/XmlFile';
@@ -7,8 +8,8 @@ import type { TypedFunctionType } from './types/TypedFunctionType';
7
8
  import type { ParseMode } from './parser/Parser';
8
9
  import type { Program } from './Program';
9
10
  import type { ProgramBuilder } from './ProgramBuilder';
10
- import type { ClassStatement, ConstStatement, EnumStatement, FunctionStatement, NamespaceStatement } from './parser/Statement';
11
- import type { AstNode, Expression, Statement } from './parser/AstNode';
11
+ import type { FunctionStatement, NamespaceStatement } from './parser/Statement';
12
+ import type { AstNode, Expression } from './parser/AstNode';
12
13
  import type { TranspileState } from './parser/TranspileState';
13
14
  import type { SourceNode } from 'source-map';
14
15
  import type { BscType } from './types/BscType';
@@ -202,8 +203,22 @@ export interface CommentFlag {
202
203
  affectedRange: Range;
203
204
  codes: DiagnosticCode[] | null;
204
205
  }
205
- export declare type CompilerPluginFactory = () => CompilerPlugin;
206
- export interface CompilerPlugin {
206
+ export interface PluginFactoryOptions {
207
+ /**
208
+ * What version of brighterscript is activating this plugin? (Useful for picking different plugins or behavior based on the version of brighterscript)
209
+ */
210
+ version: string;
211
+ }
212
+ export declare type PluginFactory = (options?: PluginFactoryOptions) => Plugin;
213
+ /**
214
+ * @deprecated use `PluginFactory` instead
215
+ */
216
+ export declare type CompilerPluginFactory = PluginFactory;
217
+ /**
218
+ * @deprecated use `Plugin` instead
219
+ */
220
+ export declare type CompilerPlugin = Plugin;
221
+ export interface Plugin {
207
222
  name: string;
208
223
  /**
209
224
  * Called before a new program is created
@@ -461,10 +476,19 @@ export interface BeforeProgramValidateEvent {
461
476
  program: Program;
462
477
  }
463
478
  export declare type OnProgramValidateEvent = BeforeProgramValidateEvent;
464
- export declare type AfterProgramValidateEvent = BeforeProgramValidateEvent;
479
+ export interface AfterProgramValidateEvent extends BeforeProgramValidateEvent {
480
+ /**
481
+ * Was the validation cancelled? Will be false if the validation was completed
482
+ */
483
+ wasCancelled: boolean;
484
+ }
465
485
  export interface ProvideCompletionsEvent<TFile extends BscFile = BscFile> {
466
486
  program: Program;
467
487
  file: TFile;
488
+ /**
489
+ * The scopes this file is a member of. If the file is a member of no scopes, this will be an empty array.
490
+ * Plugins can use `event.program.globalScope` if the file is not a member of any scopes
491
+ */
468
492
  scopes: Scope[];
469
493
  position: Position;
470
494
  completions: CompletionItem[];
@@ -627,7 +651,7 @@ export interface TranspileEntry {
627
651
  export interface ScopeValidationOptions {
628
652
  filesToBeValidatedInScopeContext?: Set<BscFile>;
629
653
  changedSymbols?: Map<SymbolTypeFlag, Set<string>>;
630
- changedFiles?: Set<BscFile>;
654
+ changedFiles?: BscFile[];
631
655
  force?: boolean;
632
656
  initialValidation?: boolean;
633
657
  }
@@ -982,16 +1006,15 @@ export interface NamespaceContainer {
982
1006
  nameRange: Range;
983
1007
  lastPartName: string;
984
1008
  lastPartNameLower: string;
985
- functionStatements: Map<string, FunctionStatement>;
986
1009
  isTopLevel: boolean;
987
1010
  namespaceStatements?: NamespaceStatement[];
988
- statements?: Statement[];
989
- classStatements?: Map<string, ClassStatement>;
990
- enumStatements?: Map<string, EnumStatement>;
991
- constStatements?: Map<string, ConstStatement>;
992
- namespaces?: Map<string, NamespaceContainer>;
993
1011
  symbolTable: SymbolTable;
994
1012
  }
1013
+ export interface ScopeNamespaceContainer {
1014
+ namespaceContainers: NamespaceContainer[];
1015
+ symbolTable: SymbolTable;
1016
+ firstInstance: NamespaceContainer;
1017
+ }
995
1018
  /**
996
1019
  * Use Writable<T> to remove readonly flag from properties in T
997
1020
  * Be careful!
@@ -1002,3 +1025,23 @@ export declare type Writeable<T> = {
1002
1025
  export declare type DeepWriteable<T> = {
1003
1026
  -readonly [P in keyof T]: DeepWriteable<T[P]>;
1004
1027
  };
1028
+ export declare type DisposableLike = Disposable | (() => any);
1029
+ export declare type MaybePromise<T> = T | Promise<T>;
1030
+ export interface FileChange {
1031
+ /**
1032
+ * Absolute path to the source file
1033
+ */
1034
+ srcPath: string;
1035
+ /**
1036
+ * What type of change was this.
1037
+ */
1038
+ type: FileChangeType;
1039
+ /**
1040
+ * If provided, this is the new contents of the file. If not provided, the file will be read from disk
1041
+ */
1042
+ fileContents?: string;
1043
+ /**
1044
+ * If true, this file change can have a project created exclusively for it, it no other projects handled it
1045
+ */
1046
+ allowStandaloneProject?: boolean;
1047
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAqBA,iDAA8C;AAE9C,kDAAkD;AAs9BlD,MAAa,cAAc;IACvB,YAAY,OAOX;;QACG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,2BAA2B;QAC3B,IAAI,CAAC,IAAI,qBAAQ,OAAO,CAAC,IAAI,CAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ;;QACR,OAAO,MAAA,IAAI,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC;IACpD,CAAC;CASJ;AA9BD,wCA8BC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAqBA,iDAA8C;AAE9C,kDAAkD;AA8+BlD,MAAa,cAAc;IACvB,YAAY,OAOX;;QACG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,2BAA2B;QAC3B,IAAI,CAAC,IAAI,qBAAQ,OAAO,CAAC,IAAI,CAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ;;QACR,OAAO,MAAA,IAAI,CAAC,SAAS,mCAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC;IACpD,CAAC;CASJ;AA9BD,wCA8BC"}
@@ -92,7 +92,7 @@ class Lexer {
92
92
  * @returns `true` if the lexer has read to (or past) the end of its input, otherwise `false`.
93
93
  */
94
94
  isAtEnd() {
95
- return this.current >= this.source.length;
95
+ return !this.source || this.current >= this.source.length;
96
96
  }
97
97
  /**
98
98
  * Determine if the current position is at the beginning of a statement.
@@ -1 +1 @@
1
- {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
package/dist/logging.d.ts CHANGED
@@ -1,5 +1,10 @@
1
- import type { Logger } from '@rokucommunity/logger';
1
+ import { Logger } from '@rokucommunity/logger';
2
2
  declare const logger: Logger;
3
+ /**
4
+ * Set the logger properties to be used when running in language server mode. It's a function so we can share the logic between LanguageServer and
5
+ * the workerThread projects that don't inherit the same logger instance
6
+ */
7
+ export declare function setLspLoggerProps(): void;
3
8
  export declare const createLogger: {
4
9
  (): Logger;
5
10
  (prefix: string): Logger;
package/dist/logging.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogLevel = exports.logger = exports.createLogger = void 0;
3
+ exports.LogLevel = exports.Logger = exports.logger = exports.createLogger = exports.setLspLoggerProps = void 0;
4
4
  const logger_1 = require("@rokucommunity/logger");
5
+ const logger_2 = require("@rokucommunity/logger");
6
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_2.Logger; } });
5
7
  const logger = logger_1.default.createLogger();
6
8
  exports.logger = logger;
7
9
  //force log levels to be same width
@@ -10,6 +12,17 @@ logger.printLogLevel = false;
10
12
  logger.timestampFormat = 'hh:mm:ss:SSS aa';
11
13
  logger.logLevel = 'log';
12
14
  logger.prefix = '';
15
+ /**
16
+ * Set the logger properties to be used when running in language server mode. It's a function so we can share the logic between LanguageServer and
17
+ * the workerThread projects that don't inherit the same logger instance
18
+ */
19
+ function setLspLoggerProps() {
20
+ //disable logger color when running the LSP (i.e. anytime we create a LanguageServer instance)
21
+ logger.enableColor = false;
22
+ //include the logLevel text in all log messages when running in LSP mode
23
+ logger.printLogLevel = true;
24
+ }
25
+ exports.setLspLoggerProps = setLspLoggerProps;
13
26
  exports.createLogger = logger.createLogger.bind(logger);
14
27
  var Logger_1 = require("./Logger");
15
28
  Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return Logger_1.LogLevel; } });
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":";;;AAAA,kDAAiE;AAEjE,MAAM,MAAM,GAAG,gBAAa,CAAC,YAAY,EAAE,CAAC;AAUnC,wBAAM;AARf,mCAAmC;AACnC,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,eAAe,GAAG,iBAAiB,CAAC;AAC3C,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AAEN,QAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE7D,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":";;;AAAA,kDAAiE;AACjE,kDAA+C;AAuB9B,uFAvBR,eAAM,OAuBQ;AAtBvB,MAAM,MAAM,GAAG,gBAAa,CAAC,YAAY,EAAE,CAAC;AAsBnC,wBAAM;AApBf,mCAAmC;AACnC,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,eAAe,GAAG,iBAAiB,CAAC;AAC3C,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AAEnB;;;GAGG;AACH,SAAgB,iBAAiB;IAC7B,8FAA8F;IAC9F,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,wEAAwE;IACxE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;AAChC,CAAC;AALD,8CAKC;AAGY,QAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE7D,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA"}
@@ -0,0 +1,35 @@
1
+ import type { CancellationToken } from 'vscode-languageserver-protocol';
2
+ export declare class ActionQueue {
3
+ constructor(options?: ActionQueueOptions);
4
+ options: ActionQueueOptions;
5
+ private queue;
6
+ /**
7
+ * Run an action. This will run after all previous actions have completed
8
+ * @param action action to be run
9
+ */
10
+ run<T = any>(action: Action<T>, data?: T): Promise<void>;
11
+ private isRunning;
12
+ /**
13
+ * Process the next pending action. Safe to call even if another action is running, we will only run one action at a time
14
+ */
15
+ private process;
16
+ private stringifyJson;
17
+ get isIdle(): boolean;
18
+ /**
19
+ * Get a promise that resolves when the queue is empty
20
+ */
21
+ onIdle(): Promise<void>;
22
+ once(eventname: 'idle'): Promise<void>;
23
+ on(eventName: 'idle', handler: () => any): any;
24
+ private emit;
25
+ private emitter;
26
+ dispose(): void;
27
+ }
28
+ export declare type Action<T = any> = (data: T, cancellationToken?: CancellationToken) => any;
29
+ export interface ActionQueueOptions {
30
+ /**
31
+ * Max milliseconds an individual action may run before it's cancelled. This is the amount of time the action actually runs,
32
+ * and does not count the time it waits in the queue
33
+ */
34
+ maxActionDuration: number;
35
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionQueue = void 0;
4
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
5
+ const deferred_1 = require("../deferred");
6
+ const safeJsonStringify = require("safe-json-stringify");
7
+ const eventemitter3_1 = require("eventemitter3");
8
+ const util_1 = require("../util");
9
+ class ActionQueue {
10
+ constructor(options) {
11
+ var _a;
12
+ var _b;
13
+ this.queue = [];
14
+ this.isRunning = false;
15
+ this.emitter = new eventemitter3_1.EventEmitter();
16
+ this.options = options !== null && options !== void 0 ? options : {};
17
+ (_a = (_b = this.options).maxActionDuration) !== null && _a !== void 0 ? _a : (_b.maxActionDuration = 2147483647);
18
+ }
19
+ /**
20
+ * Run an action. This will run after all previous actions have completed
21
+ * @param action action to be run
22
+ */
23
+ run(action, data) {
24
+ const deferred = new deferred_1.Deferred();
25
+ this.queue.push({
26
+ action: action,
27
+ data: data,
28
+ deferred: deferred
29
+ });
30
+ void this.process();
31
+ return deferred.promise;
32
+ }
33
+ /**
34
+ * Process the next pending action. Safe to call even if another action is running, we will only run one action at a time
35
+ */
36
+ async process() {
37
+ if (this.isRunning) {
38
+ return;
39
+ }
40
+ if (this.queue.length === 0) {
41
+ this.emit('idle');
42
+ return;
43
+ }
44
+ this.isRunning = true;
45
+ //run the action and resolve the deferred if it succeeds
46
+ const queueItem = this.queue.shift();
47
+ const cancellationTokenSource = new vscode_languageserver_protocol_1.CancellationTokenSource();
48
+ //process the action next tick to allow the event loop to catch up
49
+ let actionPromise = Promise.resolve().then(() => {
50
+ return queueItem.action(queueItem.data, cancellationTokenSource.token);
51
+ }).then((result) => {
52
+ queueItem.deferred.resolve(result);
53
+ });
54
+ //register a timeout that will reject if the action takes too long
55
+ let timeoutId;
56
+ const timeoutPromise = new Promise((resolve, reject) => {
57
+ timeoutId = setTimeout(() => {
58
+ cancellationTokenSource.cancel();
59
+ reject(new Error(`Action took longer than ${this.options.maxActionDuration}ms to complete. Data: ${this.stringifyJson(queueItem.data)}`));
60
+ }, this.options.maxActionDuration);
61
+ });
62
+ //wait for the action to finish or the timeout to trigger
63
+ await Promise.race([timeoutPromise, actionPromise]).catch((error) => {
64
+ //if we have an error, reject the deferred
65
+ queueItem.deferred.tryReject(error);
66
+ });
67
+ clearTimeout(timeoutId);
68
+ //small delay to allow the event loop to catch up
69
+ await util_1.default.sleep(1);
70
+ this.isRunning = false;
71
+ //at this point, we've properly handled the action, so try and handle the next one
72
+ await this.process();
73
+ }
74
+ stringifyJson(data) {
75
+ return safeJsonStringify(data, (_, value) => {
76
+ return typeof value === 'bigint' ? value.toString() : value;
77
+ });
78
+ }
79
+ get isIdle() {
80
+ return this.queue.length === 0 && !this.isRunning;
81
+ }
82
+ /**
83
+ * Get a promise that resolves when the queue is empty
84
+ */
85
+ onIdle() {
86
+ if (!this.isIdle) {
87
+ return this.once('idle');
88
+ }
89
+ return Promise.resolve();
90
+ }
91
+ once(eventName) {
92
+ return new Promise((resolve) => {
93
+ const disconnect = this.on(eventName, (...args) => {
94
+ disconnect();
95
+ resolve(args);
96
+ });
97
+ });
98
+ }
99
+ on(eventName, handler) {
100
+ this.emitter.on(eventName, handler);
101
+ return () => {
102
+ this.emitter.removeListener(eventName, handler);
103
+ };
104
+ }
105
+ async emit(eventName, data) {
106
+ //emit these events on next tick, otherwise they will be processed immediately which could cause issues
107
+ await util_1.default.sleep(0);
108
+ this.emitter.emit(eventName, data);
109
+ }
110
+ dispose() {
111
+ this.emitter.removeAllListeners();
112
+ }
113
+ }
114
+ exports.ActionQueue = ActionQueue;
115
+ //# sourceMappingURL=ActionQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionQueue.js","sourceRoot":"","sources":["../../src/lsp/ActionQueue.ts"],"names":[],"mappings":";;;AACA,mFAAyE;AACzE,0CAAuC;AACvC,yDAAyD;AACzD,iDAA6C;AAC7C,kCAA2B;AAE3B,MAAa,WAAW;IAEpB,YACI,OAA4B;;;QAQxB,UAAK,GAcR,EAAE,CAAC;QAiBA,cAAS,GAAG,KAAK,CAAC;QAqGlB,YAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;QA1IjC,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAS,CAAC;QACpC,YAAA,IAAI,CAAC,OAAO,EAAC,iBAAiB,uCAAjB,iBAAiB,GAAK,UAAa,EAAC;IACrD,CAAC;IAoBD;;;OAGG;IACI,GAAG,CAAU,MAAiB,EAAE,IAAQ;QAC3C,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAID;;OAEG;IACK,KAAK,CAAC,OAAO;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO;SACV;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;SACV;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,uBAAuB,GAAG,IAAI,wDAAuB,EAAE,CAAC;QAE9D,kEAAkE;QAClE,IAAI,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,SAAyB,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,uBAAuB,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,CACF,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,OAAO,CAAC,iBAAiB,yBAAyB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CACpI,CAAC;YACN,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,0CAA0C;YAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,iDAAiD;QACjD,MAAM,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,kFAAkF;QAClF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa,CAAC,IAAS;QAC3B,OAAO,iBAAiB,CACpB,IAAI,EACJ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACT,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,CAAC,CACJ,CAAC;IACN,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAGM,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,SAA6C,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBAClF,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,EAAE,CAAC,SAAiB,EAAE,OAA8B;QACvD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAc,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,OAAc,CAAC,CAAC;QAC3D,CAAC,CAAC;IACN,CAAC;IAGO,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,IAAU;QAC5C,uGAAuG;QACvG,MAAM,cAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAGM,OAAO;QACV,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;CACJ;AApJD,kCAoJC"}
@@ -0,0 +1 @@
1
+ export {};