brighterscript 0.66.0-alpha.4 → 0.66.0-alpha.6

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 (214) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/DiagnosticMessages.d.ts +21 -3
  3. package/dist/DiagnosticMessages.js +35 -2
  4. package/dist/DiagnosticMessages.js.map +1 -1
  5. package/dist/LanguageServer.d.ts +1 -0
  6. package/dist/LanguageServer.js +8 -5
  7. package/dist/LanguageServer.js.map +1 -1
  8. package/dist/Program.d.ts +20 -8
  9. package/dist/Program.js +107 -60
  10. package/dist/Program.js.map +1 -1
  11. package/dist/ProgramBuilder.js +14 -2
  12. package/dist/ProgramBuilder.js.map +1 -1
  13. package/dist/Scope.d.ts +15 -13
  14. package/dist/Scope.js +26 -65
  15. package/dist/Scope.js.map +1 -1
  16. package/dist/SymbolTable.d.ts +17 -10
  17. package/dist/SymbolTable.js +48 -26
  18. package/dist/SymbolTable.js.map +1 -1
  19. package/dist/XmlScope.d.ts +2 -0
  20. package/dist/XmlScope.js +38 -0
  21. package/dist/XmlScope.js.map +1 -1
  22. package/dist/astUtils/creators.d.ts +3 -1
  23. package/dist/astUtils/creators.js +14 -4
  24. package/dist/astUtils/creators.js.map +1 -1
  25. package/dist/astUtils/reflection.d.ts +24 -5
  26. package/dist/astUtils/reflection.js +58 -13
  27. package/dist/astUtils/reflection.js.map +1 -1
  28. package/dist/astUtils/reflection.spec.js +85 -3
  29. package/dist/astUtils/reflection.spec.js.map +1 -1
  30. package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
  31. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  32. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
  33. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  34. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +44 -1
  35. package/dist/bscPlugin/completions/CompletionsProcessor.js +353 -20
  36. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  37. package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +1 -0
  38. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1452 -0
  39. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  40. package/dist/bscPlugin/hover/HoverProcessor.d.ts +9 -4
  41. package/dist/bscPlugin/hover/HoverProcessor.js +64 -67
  42. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  43. package/dist/bscPlugin/hover/HoverProcessor.spec.js +162 -4
  44. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  45. package/dist/bscPlugin/validation/BrsFileValidator.js +20 -16
  46. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  47. package/dist/bscPlugin/validation/ScopeValidator.d.ts +22 -1
  48. package/dist/bscPlugin/validation/ScopeValidator.js +194 -42
  49. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  50. package/dist/bscPlugin/validation/ScopeValidator.spec.js +621 -1
  51. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  52. package/dist/diagnosticUtils.d.ts +7 -2
  53. package/dist/diagnosticUtils.js +43 -15
  54. package/dist/diagnosticUtils.js.map +1 -1
  55. package/dist/files/BrsFile.Class.spec.js +10 -8
  56. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  57. package/dist/files/BrsFile.d.ts +3 -20
  58. package/dist/files/BrsFile.js +7 -355
  59. package/dist/files/BrsFile.js.map +1 -1
  60. package/dist/files/BrsFile.spec.js +2 -248
  61. package/dist/files/BrsFile.spec.js.map +1 -1
  62. package/dist/files/XmlFile.d.ts +1 -6
  63. package/dist/files/XmlFile.js +0 -13
  64. package/dist/files/XmlFile.js.map +1 -1
  65. package/dist/files/XmlFile.spec.js +0 -36
  66. package/dist/files/XmlFile.spec.js.map +1 -1
  67. package/dist/globalCallables.js +1 -5
  68. package/dist/globalCallables.js.map +1 -1
  69. package/dist/interfaces.d.ts +22 -2
  70. package/dist/interfaces.js +4 -1
  71. package/dist/interfaces.js.map +1 -1
  72. package/dist/lexer/Lexer.d.ts +12 -0
  73. package/dist/lexer/Lexer.js +27 -2
  74. package/dist/lexer/Lexer.js.map +1 -1
  75. package/dist/lexer/Lexer.spec.js +40 -0
  76. package/dist/lexer/Lexer.spec.js.map +1 -1
  77. package/dist/lexer/Token.d.ts +4 -0
  78. package/dist/lexer/Token.js.map +1 -1
  79. package/dist/lexer/TokenKind.d.ts +4 -0
  80. package/dist/lexer/TokenKind.js +10 -1
  81. package/dist/lexer/TokenKind.js.map +1 -1
  82. package/dist/parser/AstNode.d.ts +8 -1
  83. package/dist/parser/AstNode.js +16 -0
  84. package/dist/parser/AstNode.js.map +1 -1
  85. package/dist/parser/Expression.d.ts +16 -1
  86. package/dist/parser/Expression.js +75 -11
  87. package/dist/parser/Expression.js.map +1 -1
  88. package/dist/parser/Parser.d.ts +7 -0
  89. package/dist/parser/Parser.js +55 -7
  90. package/dist/parser/Parser.js.map +1 -1
  91. package/dist/parser/Parser.spec.js +330 -4
  92. package/dist/parser/Parser.spec.js.map +1 -1
  93. package/dist/parser/SGTypes.d.ts +1 -1
  94. package/dist/parser/Statement.d.ts +18 -6
  95. package/dist/parser/Statement.js +54 -16
  96. package/dist/parser/Statement.js.map +1 -1
  97. package/dist/parser/tests/Parser.spec.js +2 -1
  98. package/dist/parser/tests/Parser.spec.js.map +1 -1
  99. package/dist/parser/tests/controlFlow/For.spec.js +16 -8
  100. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  101. package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
  102. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  103. package/dist/parser/tests/controlFlow/While.spec.js +8 -4
  104. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  105. package/dist/parser/tests/expression/Call.spec.js +4 -4
  106. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  107. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +13 -13
  108. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  109. package/dist/parser/tests/statement/ConstStatement.spec.js +1 -34
  110. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  111. package/dist/parser/tests/statement/Enum.spec.js +1 -257
  112. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  113. package/dist/parser/tests/statement/InterfaceStatement.spec.js +8 -0
  114. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  115. package/dist/parser/tests/statement/PrintStatement.spec.js +6 -3
  116. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  117. package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
  118. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  119. package/dist/parser/tests/statement/Set.spec.js +26 -13
  120. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  121. package/dist/roku-types/data.json +156 -111
  122. package/dist/roku-types/index.d.ts +2 -27
  123. package/dist/types/ArrayType.d.ts +4 -1
  124. package/dist/types/ArrayType.js +43 -7
  125. package/dist/types/ArrayType.js.map +1 -1
  126. package/dist/types/ArrayType.spec.js +31 -2
  127. package/dist/types/ArrayType.spec.js.map +1 -1
  128. package/dist/types/AssociativeArrayType.d.ts +11 -0
  129. package/dist/types/AssociativeArrayType.js +52 -0
  130. package/dist/types/AssociativeArrayType.js.map +1 -0
  131. package/dist/types/BaseFunctionType.d.ts +2 -1
  132. package/dist/types/BaseFunctionType.js +1 -1
  133. package/dist/types/BaseFunctionType.js.map +1 -1
  134. package/dist/types/BooleanType.d.ts +2 -4
  135. package/dist/types/BooleanType.js +6 -7
  136. package/dist/types/BooleanType.js.map +1 -1
  137. package/dist/types/BscType.d.ts +8 -4
  138. package/dist/types/BscType.js +42 -14
  139. package/dist/types/BscType.js.map +1 -1
  140. package/dist/types/BscTypeKind.d.ts +2 -0
  141. package/dist/types/BscTypeKind.js +2 -0
  142. package/dist/types/BscTypeKind.js.map +1 -1
  143. package/dist/types/BuiltInInterfaceAdder.d.ts +20 -0
  144. package/dist/types/BuiltInInterfaceAdder.js +139 -0
  145. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  146. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  147. package/dist/types/BuiltInInterfaceAdder.spec.js +109 -0
  148. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  149. package/dist/types/ClassType.d.ts +6 -1
  150. package/dist/types/ClassType.js +26 -2
  151. package/dist/types/ClassType.js.map +1 -1
  152. package/dist/types/ComponentType.d.ts +26 -0
  153. package/dist/types/ComponentType.js +80 -0
  154. package/dist/types/ComponentType.js.map +1 -0
  155. package/dist/types/DoubleType.d.ts +2 -4
  156. package/dist/types/DoubleType.js +6 -7
  157. package/dist/types/DoubleType.js.map +1 -1
  158. package/dist/types/DynamicType.d.ts +2 -2
  159. package/dist/types/DynamicType.js +3 -1
  160. package/dist/types/DynamicType.js.map +1 -1
  161. package/dist/types/EnumType.d.ts +4 -5
  162. package/dist/types/EnumType.js +8 -7
  163. package/dist/types/EnumType.js.map +1 -1
  164. package/dist/types/FloatType.d.ts +2 -4
  165. package/dist/types/FloatType.js +6 -7
  166. package/dist/types/FloatType.js.map +1 -1
  167. package/dist/types/FunctionType.d.ts +2 -1
  168. package/dist/types/FunctionType.js +6 -2
  169. package/dist/types/FunctionType.js.map +1 -1
  170. package/dist/types/IntegerType.d.ts +2 -4
  171. package/dist/types/IntegerType.js +6 -7
  172. package/dist/types/IntegerType.js.map +1 -1
  173. package/dist/types/InterfaceType.d.ts +2 -1
  174. package/dist/types/InterfaceType.js +8 -4
  175. package/dist/types/InterfaceType.js.map +1 -1
  176. package/dist/types/InterfaceType.spec.js +2 -2
  177. package/dist/types/InvalidType.d.ts +1 -1
  178. package/dist/types/InvalidType.js +5 -1
  179. package/dist/types/InvalidType.js.map +1 -1
  180. package/dist/types/LongIntegerType.d.ts +2 -4
  181. package/dist/types/LongIntegerType.js +6 -7
  182. package/dist/types/LongIntegerType.js.map +1 -1
  183. package/dist/types/ObjectType.d.ts +3 -3
  184. package/dist/types/ObjectType.js +3 -1
  185. package/dist/types/ObjectType.js.map +1 -1
  186. package/dist/types/ReferenceType.d.ts +14 -0
  187. package/dist/types/ReferenceType.js +114 -13
  188. package/dist/types/ReferenceType.js.map +1 -1
  189. package/dist/types/ReferenceType.spec.js +15 -0
  190. package/dist/types/ReferenceType.spec.js.map +1 -1
  191. package/dist/types/StringType.d.ts +2 -4
  192. package/dist/types/StringType.js +5 -6
  193. package/dist/types/StringType.js.map +1 -1
  194. package/dist/types/TypedFunctionType.d.ts +2 -1
  195. package/dist/types/TypedFunctionType.js +10 -3
  196. package/dist/types/TypedFunctionType.js.map +1 -1
  197. package/dist/types/UninitializedType.d.ts +2 -1
  198. package/dist/types/UninitializedType.js +1 -1
  199. package/dist/types/UninitializedType.js.map +1 -1
  200. package/dist/types/UnionType.d.ts +4 -2
  201. package/dist/types/UnionType.js +25 -4
  202. package/dist/types/UnionType.js.map +1 -1
  203. package/dist/types/UnionType.spec.js +46 -19
  204. package/dist/types/UnionType.spec.js.map +1 -1
  205. package/dist/types/VoidType.d.ts +2 -1
  206. package/dist/types/VoidType.js +6 -2
  207. package/dist/types/VoidType.js.map +1 -1
  208. package/dist/types/helpers.d.ts +2 -0
  209. package/dist/types/helpers.js +18 -3
  210. package/dist/types/helpers.js.map +1 -1
  211. package/dist/util.d.ts +25 -2
  212. package/dist/util.js +179 -13
  213. package/dist/util.js.map +1 -1
  214. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompletionsProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/completions/CompletionsProcessor.spec.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,21 @@ export declare class HoverProcessor {
3
3
  event: ProvideHoverEvent;
4
4
  constructor(event: ProvideHoverEvent);
5
5
  process(): void;
6
- private buildContentsWithDocs;
6
+ private buildContentsWithDocsFromDescription;
7
+ private buildContentsWithDocsFromExpression;
7
8
  private isValidTokenForHover;
8
9
  private getConstHover;
9
10
  private getLabelHover;
10
- private getFunctionTypeHover;
11
11
  private getCustomTypeHover;
12
12
  private getBrsFileHover;
13
13
  /**
14
- * Combine all the documentation found before a token (i.e. comment tokens)
14
+ * cool function!
15
+ * a new line
16
+ * ```
17
+ * some markdown
18
+ * ```
19
+ * @param file teh file blah
20
+ * @returns a string that
15
21
  */
16
- private getTokenDocumentation;
17
22
  private getXmlFileHover;
18
23
  }
@@ -27,9 +27,16 @@ class HoverProcessor {
27
27
  this.event.hovers.push(hover);
28
28
  }
29
29
  }
30
- buildContentsWithDocs(text, startingToken) {
30
+ buildContentsWithDocsFromDescription(text, docs) {
31
31
  const parts = [text];
32
- const docs = this.getTokenDocumentation(this.event.file.parser.tokens, startingToken);
32
+ if (docs) {
33
+ parts.push('***', docs);
34
+ }
35
+ return parts.join('\n');
36
+ }
37
+ buildContentsWithDocsFromExpression(text, expression) {
38
+ const parts = [text];
39
+ const docs = util_1.default.getNodeDocumentation(expression);
33
40
  if (docs) {
34
41
  parts.push('***', docs);
35
42
  }
@@ -54,7 +61,7 @@ class HoverProcessor {
54
61
  const constant = scope === null || scope === void 0 ? void 0 : scope.getConstFileLink(fullName, containingNamespace);
55
62
  if (constant) {
56
63
  const constantValue = new source_map_1.SourceNode(null, null, null, constant.item.value.transpile(new BrsTranspileState_1.BrsTranspileState(file))).toString();
57
- return this.buildContentsWithDocs(fence(`const ${constant.item.fullName} = ${constantValue}`), constant.item.tokens.const);
64
+ return this.buildContentsWithDocsFromExpression(fence(`const ${constant.item.fullName} = ${constantValue}`), constant.item);
58
65
  }
59
66
  }
60
67
  getLabelHover(token, functionScope) {
@@ -65,40 +72,33 @@ class HoverProcessor {
65
72
  }
66
73
  }
67
74
  }
68
- getFunctionTypeHover(token, expression, expressionType, scope) {
69
- var _a, _b;
70
- const lowerTokenText = token.text.toLowerCase();
71
- let result = fence(expressionType.toString());
72
- // only look for callables when they aren't inside a type expression
73
- // this was a problem for the function `string()` as it is a type AND a function https://developer.roku.com/en-ca/docs/references/brightscript/language/global-string-functions.md#stringn-as-integer-str-as-string--as-string
74
- let callable = scope.getCallableByName(lowerTokenText);
75
- if (callable) {
76
- // We can find the start token of the function definition, use it to add docs.
77
- // TODO: Add comment lookups for class methods!
78
- result = this.buildContentsWithDocs(result, (_b = (_a = callable.functionStatement) === null || _a === void 0 ? void 0 : _a.func) === null || _b === void 0 ? void 0 : _b.functionType);
79
- }
80
- return result;
81
- }
82
- getCustomTypeHover(expressionType, scope) {
83
- var _a, _b;
75
+ getCustomTypeHover(expressionType, extraData) {
76
+ var _a, _b, _c, _d;
84
77
  let declarationText = '';
85
78
  let exprTypeString = expressionType.toString();
86
79
  let firstToken;
87
- if ((0, reflection_1.isClassType)(expressionType)) {
88
- let entityStmt = scope.getClass(exprTypeString.toLowerCase());
89
- firstToken = entityStmt === null || entityStmt === void 0 ? void 0 : entityStmt.classKeyword;
90
- declarationText = (_a = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _a !== void 0 ? _a : TokenKind_1.TokenKind.Class;
91
- }
92
- else if ((0, reflection_1.isInterfaceType)(expressionType)) {
93
- let entityStmt = scope.getInterface(exprTypeString.toLowerCase());
94
- firstToken = entityStmt.tokens.interface;
95
- declarationText = (_b = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _b !== void 0 ? _b : TokenKind_1.TokenKind.Interface;
96
- }
97
- let result = fence(`${declarationText} ${exprTypeString}`);
98
- if (firstToken) {
99
- // We can find the start token of the declaration, use it to add docs.
100
- result = this.buildContentsWithDocs(result, firstToken);
80
+ if (extraData === null || extraData === void 0 ? void 0 : extraData.definingNode) {
81
+ if ((0, reflection_1.isClassStatement)(extraData.definingNode)) {
82
+ firstToken = extraData.definingNode.classKeyword;
83
+ declarationText = (_a = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _a !== void 0 ? _a : TokenKind_1.TokenKind.Class;
84
+ }
85
+ else if ((0, reflection_1.isInterfaceStatement)(extraData.definingNode)) {
86
+ firstToken = extraData.definingNode.tokens.interface;
87
+ declarationText = (_b = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _b !== void 0 ? _b : TokenKind_1.TokenKind.Interface;
88
+ }
89
+ else if ((0, reflection_1.isNamespaceStatement)(extraData.definingNode)) {
90
+ firstToken = extraData.definingNode.keyword;
91
+ exprTypeString = extraData.definingNode.getName(Parser_1.ParseMode.BrighterScript);
92
+ declarationText = (_c = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _c !== void 0 ? _c : TokenKind_1.TokenKind.Namespace;
93
+ }
94
+ else if ((0, reflection_1.isEnumStatement)(extraData.definingNode)) {
95
+ firstToken = extraData.definingNode.tokens.enum;
96
+ exprTypeString = extraData.definingNode.fullName;
97
+ declarationText = (_d = firstToken === null || firstToken === void 0 ? void 0 : firstToken.text) !== null && _d !== void 0 ? _d : TokenKind_1.TokenKind.Enum;
98
+ }
101
99
  }
100
+ const innerText = `${declarationText} ${exprTypeString}`.trim();
101
+ let result = fence(innerText);
102
102
  return result;
103
103
  }
104
104
  getBrsFileHover(file) {
@@ -107,11 +107,11 @@ class HoverProcessor {
107
107
  if (!this.isValidTokenForHover(token)) {
108
108
  return null;
109
109
  }
110
+ const expression = file.getClosestExpression(this.event.position);
110
111
  const hoverContents = [];
111
112
  for (let scope of this.event.scopes) {
112
113
  try {
113
114
  scope.linkSymbolTable();
114
- const expression = file.getClosestExpression(this.event.position);
115
115
  const constHover = this.getConstHover(token, file, scope, expression);
116
116
  if (constHover) {
117
117
  hoverContents.push(constHover);
@@ -129,17 +129,33 @@ class HoverProcessor {
129
129
  const isInTypeExpression = expression === null || expression === void 0 ? void 0 : expression.findAncestor(reflection_1.isTypeExpression);
130
130
  const typeFlag = isInTypeExpression ? SymbolTable_1.SymbolTypeFlag.typetime : SymbolTable_1.SymbolTypeFlag.runtime;
131
131
  const typeChain = [];
132
- const exprType = expression.getType({ flags: typeFlag, typeChain: typeChain });
132
+ const extraData = {};
133
+ const exprType = expression.getType({ flags: typeFlag, typeChain: typeChain, data: extraData, ignoreCall: (0, reflection_1.isCallfuncExpression)(expression) });
133
134
  const processedTypeChain = util_1.default.processTypeChain(typeChain);
134
135
  const fullName = processedTypeChain.fullNameOfItem || token.text;
136
+ // if the type chain has dynamic in it, then just say the token text
137
+ const exprNameString = !processedTypeChain.containsDynamic ? fullName : token.text;
135
138
  const useCustomTypeHover = isInTypeExpression || (expression === null || expression === void 0 ? void 0 : expression.findAncestor(reflection_1.isNewExpression));
136
- let hoverContent = fence(`${fullName} as ${exprType.toString()}`);
137
- if ((0, reflection_1.isTypedFunctionType)(exprType)) {
138
- exprType.setName(fullName);
139
- hoverContent = this.getFunctionTypeHover(token, expression, exprType, scope);
139
+ let hoverContent = '';
140
+ if (useCustomTypeHover && (0, reflection_1.isInheritableType)(exprType)) {
141
+ hoverContent = this.getCustomTypeHover(exprType, extraData);
142
+ }
143
+ else if ((0, reflection_1.isNamespaceType)(exprType) ||
144
+ (0, reflection_1.isEnumType)(expression.getType({ flags: SymbolTable_1.SymbolTypeFlag.typetime }))) {
145
+ hoverContent = this.getCustomTypeHover(exprType, extraData);
146
+ }
147
+ else {
148
+ const variableName = !(0, reflection_1.isTypedFunctionType)(exprType) ? `${exprNameString} as ` : '';
149
+ if ((0, reflection_1.isTypedFunctionType)(exprType)) {
150
+ exprType.setName(exprNameString);
151
+ }
152
+ hoverContent = fence(`${variableName}${exprType.toString()}`);
153
+ }
154
+ if (extraData.description) {
155
+ hoverContent = this.buildContentsWithDocsFromDescription(hoverContent, extraData.description);
140
156
  }
141
- else if (useCustomTypeHover && ((0, reflection_1.isClassType)(exprType) || (0, reflection_1.isInterfaceType)(exprType))) {
142
- hoverContent = this.getCustomTypeHover(exprType, scope);
157
+ else if (extraData.definingNode) {
158
+ hoverContent = this.buildContentsWithDocsFromExpression(hoverContent, extraData.definingNode);
143
159
  }
144
160
  hoverContents.push(hoverContent);
145
161
  }
@@ -153,33 +169,14 @@ class HoverProcessor {
153
169
  };
154
170
  }
155
171
  /**
156
- * Combine all the documentation found before a token (i.e. comment tokens)
172
+ * cool function!
173
+ * a new line
174
+ * ```
175
+ * some markdown
176
+ * ```
177
+ * @param file teh file blah
178
+ * @returns a string that
157
179
  */
158
- getTokenDocumentation(tokens, token) {
159
- const comments = [];
160
- const idx = tokens === null || tokens === void 0 ? void 0 : tokens.indexOf(token);
161
- if (!idx || idx === -1) {
162
- return undefined;
163
- }
164
- for (let i = idx - 1; i >= 0; i--) {
165
- const token = tokens[i];
166
- //skip whitespace and newline chars
167
- if (token.kind === TokenKind_1.TokenKind.Comment) {
168
- comments.push(token);
169
- }
170
- else if (token.kind === TokenKind_1.TokenKind.Newline || token.kind === TokenKind_1.TokenKind.Whitespace) {
171
- //skip these tokens
172
- continue;
173
- //any other token means there are no more comments
174
- }
175
- else {
176
- break;
177
- }
178
- }
179
- if (comments.length > 0) {
180
- return comments.reverse().map(x => x.text.replace(/^('|rem)/i, '')).join('\n');
181
- }
182
- }
183
180
  getXmlFileHover(file) {
184
181
  //TODO add xml hovers
185
182
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"HoverProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/hover/HoverProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HoverProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/hover/HoverProcessor.ts"],"names":[],"mappings":"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"}
@@ -258,6 +258,63 @@ describe('HoverProcessor', () => {
258
258
  hover = program.getHover('source/main.bs', util_1.util.createPosition(4, 69))[0];
259
259
  (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('class Person')]);
260
260
  });
261
+ it('finds namespaces properly', () => {
262
+ program.setFile('source/main.bs', `
263
+ namespace Name1
264
+ namespace Name2
265
+ const hi = "hello"
266
+ end namespace
267
+ end namespace
268
+
269
+ sub doWork()
270
+ print Name1.Name2.hi
271
+ end sub
272
+ `);
273
+ program.validate();
274
+ // print Name1.Nam|e2.hi
275
+ let hover = program.getHover('source/main.bs', util_1.util.createPosition(8, 36))[0];
276
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('namespace Name1.Name2')]);
277
+ });
278
+ it('finds enum properly', () => {
279
+ program.setFile('source/main.bs', `
280
+ enum Direction
281
+ up
282
+ down
283
+ end enum
284
+
285
+ sub doWork()
286
+ print Direction.up
287
+ end sub
288
+ `);
289
+ program.validate();
290
+ // print Dire|ction.up
291
+ let hover = program.getHover('source/main.bs', util_1.util.createPosition(7, 30))[0];
292
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('enum Direction')]);
293
+ // print Direction.u|p
294
+ hover = program.getHover('source/main.bs', util_1.util.createPosition(7, 37))[0];
295
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('Direction.up as Direction')]);
296
+ });
297
+ it('finds types hover with comment', () => {
298
+ program.setFile('source/main.bs', `
299
+ ' this is a class comment
300
+ ' it is more than one line
301
+ class Person
302
+ end class
303
+
304
+ ' does some work
305
+ sub doWork(age as integer, name as string, guy as Person)
306
+ end sub
307
+ `);
308
+ program.validate();
309
+ let commentSep = `\n***\n`;
310
+ // gu|y as Person
311
+ let hover = program.getHover('source/main.bs', util_1.util.createPosition(7, 60))[0];
312
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.range).to.eql(util_1.util.createRange(7, 59, 7, 62));
313
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('guy as Person')}${commentSep}this is a class comment\nit is more than one line`]);
314
+ // guy as Pe|rson
315
+ hover = program.getHover('source/main.bs', util_1.util.createPosition(7, 69))[0];
316
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('class Person')}${commentSep}this is a class comment\nit is more than one line`]);
317
+ });
261
318
  it('finds types from assignments defined in different file', () => {
262
319
  program.setFile(`source/main.bs`, `
263
320
  sub main()
@@ -321,14 +378,25 @@ describe('HoverProcessor', () => {
321
378
  let commentSep = `\n***\n`;
322
379
  //th|ing = new MyKlass()
323
380
  let hover = program.getHover('source/main.bs', util_1.util.createPosition(2, 24))[0];
324
- (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('thing as MyKlass')]);
381
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('thing as MyKlass')}${commentSep}A sample class`]);
325
382
  //use|Klass(thing)
326
383
  hover = program.getHover('source/main.bs', util_1.util.createPosition(3, 24))[0];
327
- (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('sub useKlass(thing as MyKlass) as void')}${commentSep} Prints a MyKlass.name`]);
384
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('sub useKlass(thing as MyKlass) as void')}${commentSep}Prints a MyKlass.name`]);
328
385
  //print thing.getN|ame()
329
386
  hover = program.getHover('source/main.bs', util_1.util.createPosition(8, 37))[0];
330
- // TODO: Add comments for class methods/properties
331
- (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('function MyKlass.getName() as string')}`]);
387
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([`${fence('function MyKlass.getName() as string')}${commentSep}Gets the name of this thing`]);
388
+ });
389
+ it('finds globalCallables with documentation', () => {
390
+ let mainFile = program.setFile('source/main.brs', `
391
+ sub Main()
392
+ print lcase("HELLO")
393
+ end sub
394
+ `);
395
+ program.validate();
396
+ let commentSep = `\n***\n`;
397
+ // print lc|ase("HELLO")
398
+ let hover = program.getHover(mainFile.srcPath, util_1.util.createPosition(2, 29))[0];
399
+ (0, chai_config_spec_1.expect)(hover.contents).to.eql([`${fence('function lcase(s as string) as string')}${commentSep}Converts the string to all lower case.`]);
332
400
  });
333
401
  it('finds functions as params', () => {
334
402
  program.setFile('source/main.brs', `
@@ -350,6 +418,96 @@ describe('HoverProcessor', () => {
350
418
  (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.range).to.eql(util_1.util.createRange(6, 26, 6, 34));
351
419
  (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).to.eql([fence('someFunc as function')]);
352
420
  });
421
+ it('keeps unresolved types as type names', () => {
422
+ const file = program.setFile('source/main.bs', `
423
+ sub doSomething(thing as UnknownType)
424
+ print thing
425
+ end sub
426
+ `);
427
+ program.validate();
428
+ // print thi|ng
429
+ let hover = program.getHover(file.srcPath, util_1.util.createPosition(2, 30))[0];
430
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.range).to.eql(util_1.util.createRange(2, 26, 2, 31));
431
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).eql([fence('thing as UnknownType')]);
432
+ });
433
+ it('says members on dynamic are dynamic', () => {
434
+ const file = program.setFile('source/main.bs', `
435
+ sub doSomething(thing)
436
+ print thing.member
437
+ end sub
438
+ `);
439
+ program.validate();
440
+ // print thing.mem|ber
441
+ let hover = program.getHover(file.srcPath, util_1.util.createPosition(2, 36))[0];
442
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.range).to.eql(util_1.util.createRange(2, 32, 2, 38));
443
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).eql([fence('member as dynamic')]);
444
+ });
445
+ it('should recognize consistent type after function call in binary op', () => {
446
+ let file = program.setFile('source/main.bs', `
447
+ function arrayToString(items as object) as string
448
+ description = "["
449
+ for each item in items
450
+ description += utils.toString(item) + ", "
451
+ end for
452
+ description += "]"
453
+ return description
454
+ end function
455
+ `);
456
+ program.setFile('source/utils.bs', `
457
+ namespace utils
458
+ function toString(thing as dynamic) as string
459
+ return "hello"
460
+ end function
461
+ end namespace
462
+ `);
463
+ program.validate();
464
+ // return myS|tring
465
+ let hover = program.getHover(file.srcPath, util_1.util.createPosition(7, 31))[0];
466
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).eql([fence('description as string')]);
467
+ });
468
+ it('should provide correct hover for LHS of assignment', () => {
469
+ let file = program.setFile('source/main.bs', `
470
+ function getFloat() as float
471
+ return 123
472
+ end function
473
+
474
+ sub doStuff()
475
+ myFloat = getFloat()
476
+ end sub
477
+ `);
478
+ program.validate();
479
+ // myF|loat = getFloat()
480
+ let hover = program.getHover(file.srcPath, util_1.util.createPosition(6, 24))[0];
481
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).eql([fence('myFloat as float')]);
482
+ });
483
+ });
484
+ describe('callFunc', () => {
485
+ it('should get hovers on @callfunc invocations', () => {
486
+ program.setFile('components/Widget.xml', (0, testHelpers_spec_1.trim) `
487
+ <?xml version="1.0" encoding="utf-8" ?>
488
+ <component name="Widget" extends="Group">
489
+ <script uri="Widget.bs"/>
490
+ <interface>
491
+ <function name="someFunc" />
492
+ </interface>
493
+ </component>
494
+ `);
495
+ const file = program.setFile('components/Widget.bs', `
496
+ sub foo()
497
+ top = m.top as roSgNodeWidget
498
+ print top@.someFunc("3.14")
499
+ end sub
500
+
501
+ function someFunc(input as string) as float
502
+ return input.toFloat()
503
+ end function
504
+ `);
505
+ program.validate();
506
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
507
+ // print top@.some|Func("3.14")
508
+ let hover = program.getHover(file.srcPath, util_1.util.createPosition(3, 35))[0];
509
+ (0, chai_config_spec_1.expect)(hover === null || hover === void 0 ? void 0 : hover.contents).eql([fence('function roSGNodeWidget@.someFunc(input as string) as float')]);
510
+ });
353
511
  });
354
512
  });
355
513
  //# sourceMappingURL=HoverProcessor.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HoverProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/hover/HoverProcessor.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HoverProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/hover/HoverProcessor.spec.ts"],"names":[],"mappings":"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"}