brighterscript 0.41.2 → 1.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +112 -0
- package/README.md +2 -2
- package/dist/DiagnosticCollection.js +2 -2
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.js +2 -2
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +8 -2
- package/dist/LanguageServer.js +50 -44
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +61 -45
- package/dist/Program.js +305 -188
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +7 -7
- package/dist/ProgramBuilder.js +60 -51
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +42 -19
- package/dist/Scope.js +261 -129
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +73 -0
- package/dist/SymbolTable.js +157 -0
- package/dist/SymbolTable.js.map +1 -0
- package/dist/XmlScope.d.ts +5 -0
- package/dist/XmlScope.js +66 -28
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/creators.d.ts +15 -1
- package/dist/astUtils/creators.js +39 -9
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +28 -16
- package/dist/astUtils/reflection.js +52 -30
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +3 -3
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +12 -13
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +3 -3
- package/dist/astUtils/xml.js +2 -2
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +5 -6
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +24 -22
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +2 -2
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +1 -1
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +356 -41
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +55 -37
- package/dist/files/BrsFile.js +430 -399
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +199 -158
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +20 -9
- package/dist/files/XmlFile.js +36 -31
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +113 -113
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +32 -32
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/globalCallables.js +17 -6
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +155 -39
- package/dist/parser/BrsTranspileState.d.ts +7 -0
- package/dist/parser/BrsTranspileState.js +10 -1
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +23 -12
- package/dist/parser/Expression.js +45 -30
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +100 -1
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +118 -5
- package/dist/parser/Parser.js +398 -37
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +404 -7
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +41 -4
- package/dist/parser/SGParser.js +185 -174
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +17 -4
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +203 -38
- package/dist/parser/SGTypes.js +464 -160
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/SGTypes.spec.d.ts +1 -0
- package/dist/parser/SGTypes.spec.js +351 -0
- package/dist/parser/SGTypes.spec.js.map +1 -0
- package/dist/parser/Statement.d.ts +37 -26
- package/dist/parser/Statement.js +81 -20
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +5 -5
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +1 -1
- package/dist/parser/TranspileState.js +15 -7
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +5 -4
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/types/ArrayType.d.ts +1 -0
- package/dist/types/ArrayType.js +23 -19
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/BooleanType.d.ts +3 -2
- package/dist/types/BooleanType.js +6 -3
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +19 -4
- package/dist/types/BscType.js +9 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +8 -5
- package/dist/types/CustomType.js +12 -12
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +1 -0
- package/dist/types/DoubleType.js +11 -11
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +1 -0
- package/dist/types/DynamicType.js +4 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/FloatType.d.ts +2 -1
- package/dist/types/FloatType.js +11 -11
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.d.ts +13 -10
- package/dist/types/FunctionType.js +34 -18
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +8 -2
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/types/IntegerType.d.ts +2 -1
- package/dist/types/IntegerType.js +11 -11
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +3 -2
- package/dist/types/InvalidType.js +7 -4
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LazyType.d.ts +17 -0
- package/dist/types/LazyType.js +44 -0
- package/dist/types/LazyType.js.map +1 -0
- package/dist/types/LongIntegerType.d.ts +2 -1
- package/dist/types/LongIntegerType.js +11 -11
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.d.ts +6 -2
- package/dist/types/ObjectType.js +9 -3
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/StringType.d.ts +3 -2
- package/dist/types/StringType.js +6 -3
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +4 -2
- package/dist/types/UninitializedType.js +8 -3
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +3 -2
- package/dist/types/VoidType.js +6 -3
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +42 -0
- package/dist/types/helpers.js +113 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/util.d.ts +68 -15
- package/dist/util.js +193 -45
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +5 -1
- package/dist/validators/ClassValidator.js +31 -17
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +1 -1
- package/dist/FunctionScope.d.ts +0 -27
- package/dist/FunctionScope.js +0 -49
- package/dist/FunctionScope.js.map +0 -1
package/dist/astUtils/xml.js
CHANGED
|
@@ -18,11 +18,11 @@ function isSGChildren(tag) {
|
|
|
18
18
|
}
|
|
19
19
|
exports.isSGChildren = isSGChildren;
|
|
20
20
|
function isSGField(tag) {
|
|
21
|
-
return (tag === null || tag === void 0 ? void 0 : tag.constructor.name) === '
|
|
21
|
+
return (tag === null || tag === void 0 ? void 0 : tag.constructor.name) === 'SGInterfaceField';
|
|
22
22
|
}
|
|
23
23
|
exports.isSGField = isSGField;
|
|
24
24
|
function isSGFunction(tag) {
|
|
25
|
-
return (tag === null || tag === void 0 ? void 0 : tag.constructor.name) === '
|
|
25
|
+
return (tag === null || tag === void 0 ? void 0 : tag.constructor.name) === 'SGInterfaceFunction';
|
|
26
26
|
}
|
|
27
27
|
exports.isSGFunction = isSGFunction;
|
|
28
28
|
function isSGNode(tag) {
|
package/dist/astUtils/xml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/astUtils/xml.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,GAAU;IACpC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,aAAa,CAAC;AACnD,CAAC;AAFD,sCAEC;AACD,SAAgB,aAAa,CAAC,GAAU;IACpC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,aAAa,CAAC;AACnD,CAAC;AAFD,sCAEC;AACD,SAAgB,UAAU,CAAC,GAAU;IACjC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,UAAU,CAAC;AAChD,CAAC;AAFD,gCAEC;AACD,SAAgB,YAAY,CAAC,GAAU;IACnC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,YAAY,CAAC;AAClD,CAAC;AAFD,oCAEC;AACD,SAAgB,SAAS,CAAC,GAAU;IAChC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/astUtils/xml.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,GAAU;IACpC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,aAAa,CAAC;AACnD,CAAC;AAFD,sCAEC;AACD,SAAgB,aAAa,CAAC,GAAU;IACpC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,aAAa,CAAC;AACnD,CAAC;AAFD,sCAEC;AACD,SAAgB,UAAU,CAAC,GAAU;IACjC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,UAAU,CAAC;AAChD,CAAC;AAFD,gCAEC;AACD,SAAgB,YAAY,CAAC,GAAU;IACnC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,YAAY,CAAC;AAClD,CAAC;AAFD,oCAEC;AACD,SAAgB,SAAS,CAAC,GAAU;IAChC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,kBAAkB,CAAC;AACxD,CAAC;AAFD,8BAEC;AACD,SAAgB,YAAY,CAAC,GAAU;IACnC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,qBAAqB,CAAC;AAC3D,CAAC;AAFD,oCAEC;AACD,SAAgB,QAAQ,CAAC,GAAU;IAC/B,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,IAAI,MAAK,QAAQ,CAAC;AAC9C,CAAC;AAFD,4BAEC"}
|
|
@@ -39,17 +39,16 @@ class CodeActionsProcessor {
|
|
|
39
39
|
const insertPosition = (_c = (_b = (_a = importStatements[importStatements.length - 1]) === null || _a === void 0 ? void 0 : _a.importToken.range) === null || _b === void 0 ? void 0 : _b.start) !== null && _c !== void 0 ? _c : util_1.util.createPosition(0, 0);
|
|
40
40
|
//find all files that reference this function
|
|
41
41
|
for (const file of files) {
|
|
42
|
-
const pkgPath = util_1.util.getRokuPkgPath(file.pkgPath);
|
|
43
42
|
this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
|
|
44
|
-
title: `import "${pkgPath}"`,
|
|
43
|
+
title: `import "${file.pkgPath}"`,
|
|
45
44
|
diagnostics: [diagnostic],
|
|
46
45
|
isPreferred: false,
|
|
47
46
|
kind: vscode_languageserver_1.CodeActionKind.QuickFix,
|
|
48
47
|
changes: [{
|
|
49
48
|
type: 'insert',
|
|
50
|
-
filePath: this.event.file.
|
|
49
|
+
filePath: this.event.file.srcPath,
|
|
51
50
|
position: insertPosition,
|
|
52
|
-
newText: `import "${pkgPath}"\n`
|
|
51
|
+
newText: `import "${file.pkgPath}"\n`
|
|
53
52
|
}]
|
|
54
53
|
}));
|
|
55
54
|
}
|
|
@@ -72,10 +71,10 @@ class CodeActionsProcessor {
|
|
|
72
71
|
}
|
|
73
72
|
addMissingExtends(diagnostic) {
|
|
74
73
|
var _a;
|
|
75
|
-
const srcPath = this.event.file.
|
|
74
|
+
const srcPath = this.event.file.srcPath;
|
|
76
75
|
const { component } = this.event.file.parser.ast;
|
|
77
76
|
//inject new attribute after the final attribute, or after the `<component` if there are no attributes
|
|
78
|
-
const pos = ((_a = component.attributes[component.attributes.length - 1]) !== null && _a !== void 0 ? _a : component.
|
|
77
|
+
const pos = ((_a = component.attributes[component.attributes.length - 1]) !== null && _a !== void 0 ? _a : component.tokens.startTagOpen).range.end;
|
|
79
78
|
this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
|
|
80
79
|
title: `Extend "Group"`,
|
|
81
80
|
diagnostics: [diagnostic],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":";;;AACA,iEAAuD;AACvD,yDAAsD;AAEtD,iEAA6D;AAI7D,yCAAyC;AACzC,qCAAkC;AAElC,MAAa,oBAAoB;IAC7B,YACW,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;QAiB/B,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAd7C,CAAC;IAEM,OAAO;QACV,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,sCAAiB,CAAC,qBAAqB,EAAE;gBAC7D,IAAI,CAAC,sBAAsB,CAAC,UAAiB,CAAC,CAAC;aAClD;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,sCAAiB,CAAC,oBAAoB,EAAE;gBACnE,IAAI,CAAC,mBAAmB,CAAC,UAAiB,CAAC,CAAC;aAC/C;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,sCAAiB,CAAC,mCAAmC,EAAE;gBAClF,IAAI,CAAC,iBAAiB,CAAC,UAAiB,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAID;;OAEG;IACK,cAAc,CAAC,UAAsB,EAAE,GAAW,EAAE,KAAgB;;QACxE,yCAAyC;QACzC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAChC,OAAO;SACV;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,gBAAgB,GAAI,IAAI,CAAC,KAAK,CAAC,IAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACzF,0FAA0F;QAC1F,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,WAAW,CAAC,KAAK,0CAAE,KAAK,mCAAI,WAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5H,6CAA6C;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,
|
|
1
|
+
{"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,13 +18,14 @@ describe('CodeActionsProcessor', () => {
|
|
|
18
18
|
});
|
|
19
19
|
describe('getCodeActions', () => {
|
|
20
20
|
it('suggests `extends=Group`', () => {
|
|
21
|
-
const file = program.
|
|
21
|
+
const file = program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
22
22
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
23
23
|
<component name="comp1">
|
|
24
24
|
</component>
|
|
25
25
|
`);
|
|
26
|
+
program.validate();
|
|
26
27
|
(0, testHelpers_spec_1.expectCodeActions)(() => {
|
|
27
|
-
program.getCodeActions(file.
|
|
28
|
+
program.getCodeActions(file.srcPath,
|
|
28
29
|
//<comp|onent name="comp1">
|
|
29
30
|
util_1.util.createRange(1, 5, 1, 5));
|
|
30
31
|
}, [{
|
|
@@ -61,40 +62,41 @@ describe('CodeActionsProcessor', () => {
|
|
|
61
62
|
}]);
|
|
62
63
|
});
|
|
63
64
|
it('adds attribute at end of component with multiple attributes`', () => {
|
|
64
|
-
const file = program.
|
|
65
|
+
const file = program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
65
66
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
66
67
|
<component name="comp1" attr2="attr3" attr3="attr3">
|
|
67
68
|
</component>
|
|
68
69
|
`);
|
|
69
|
-
|
|
70
|
+
program.validate();
|
|
71
|
+
const codeActions = program.getCodeActions(file.srcPath,
|
|
70
72
|
//<comp|onent name="comp1">
|
|
71
73
|
util_1.util.createRange(1, 5, 1, 5));
|
|
72
74
|
(0, chai_1.expect)(codeActions[0].edit.changes[vscode_uri_1.URI.file((0, util_1.standardizePath) `${rootDir}/components/comp1.xml`).toString()][0].range).to.eql(util_1.util.createRange(1, 51, 1, 51));
|
|
73
75
|
});
|
|
74
76
|
it('does not produce duplicate code actions for bs imports', () => {
|
|
75
77
|
//define the function in two files
|
|
76
|
-
program.
|
|
78
|
+
program.setFile('components/lib1.brs', `
|
|
77
79
|
sub doSomething()
|
|
78
80
|
end sub
|
|
79
81
|
`);
|
|
80
|
-
program.
|
|
82
|
+
program.setFile('components/lib2.brs', `
|
|
81
83
|
sub doSomething()
|
|
82
84
|
end sub
|
|
83
85
|
`);
|
|
84
86
|
//use the function in this file
|
|
85
|
-
const componentCommonFile = program.
|
|
87
|
+
const componentCommonFile = program.setFile('components/ComponentCommon.bs', `
|
|
86
88
|
sub init()
|
|
87
89
|
doSomething()
|
|
88
90
|
end sub
|
|
89
91
|
`);
|
|
90
92
|
//import the file in two scopes
|
|
91
|
-
program.
|
|
93
|
+
program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
92
94
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
93
95
|
<component name="ChildScene">
|
|
94
96
|
<script uri="ComponentCommon.bs" />
|
|
95
97
|
</component>
|
|
96
98
|
`);
|
|
97
|
-
program.
|
|
99
|
+
program.setFile('components/comp2.xml', (0, testHelpers_spec_1.trim) `
|
|
98
100
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
99
101
|
<component name="ChildScene">
|
|
100
102
|
<script uri="ComponentCommon.bs" />
|
|
@@ -102,7 +104,7 @@ describe('CodeActionsProcessor', () => {
|
|
|
102
104
|
`);
|
|
103
105
|
program.validate();
|
|
104
106
|
//we should only get each file import suggestion exactly once
|
|
105
|
-
const codeActions = program.getCodeActions(componentCommonFile.
|
|
107
|
+
const codeActions = program.getCodeActions(componentCommonFile.srcPath,
|
|
106
108
|
// doSome|thing()
|
|
107
109
|
util_1.util.createRange(2, 22, 2, 22));
|
|
108
110
|
(0, chai_1.expect)(codeActions.map(x => x.title).sort()).to.eql([
|
|
@@ -112,49 +114,49 @@ describe('CodeActionsProcessor', () => {
|
|
|
112
114
|
});
|
|
113
115
|
it('does not suggest imports for brs files', () => {
|
|
114
116
|
//import the file in two scopes
|
|
115
|
-
program.
|
|
117
|
+
program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
116
118
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
117
119
|
<component name="ChildScene">
|
|
118
120
|
<script uri="comp1.brs" />
|
|
119
121
|
</component>
|
|
120
122
|
`);
|
|
121
123
|
//import the function here
|
|
122
|
-
const file = program.
|
|
124
|
+
const file = program.setFile('components/comp1.brs', `
|
|
123
125
|
sub init()
|
|
124
126
|
DoSomething()
|
|
125
127
|
end sub
|
|
126
128
|
`);
|
|
127
129
|
//define the function here
|
|
128
|
-
program.
|
|
130
|
+
program.setFile('source/lib.brs', `
|
|
129
131
|
sub DoSomething()
|
|
130
132
|
end sub
|
|
131
133
|
`);
|
|
132
134
|
program.validate();
|
|
133
135
|
//there should be no code actions since this is a brs file
|
|
134
|
-
const codeActions = program.getCodeActions(file.
|
|
136
|
+
const codeActions = program.getCodeActions(file.srcPath,
|
|
135
137
|
// DoSometh|ing()
|
|
136
138
|
util_1.util.createRange(2, 28, 2, 28));
|
|
137
139
|
(0, chai_1.expect)(codeActions).to.be.empty;
|
|
138
140
|
});
|
|
139
141
|
it('suggests class imports', () => {
|
|
140
142
|
//import the file in two scopes
|
|
141
|
-
program.
|
|
143
|
+
program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
142
144
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
143
145
|
<component name="ChildScene">
|
|
144
146
|
<script uri="comp1.bs" />
|
|
145
147
|
</component>
|
|
146
148
|
`);
|
|
147
|
-
const file = program.
|
|
149
|
+
const file = program.setFile('components/comp1.bs', `
|
|
148
150
|
sub init()
|
|
149
151
|
dude = new Person()
|
|
150
152
|
end sub
|
|
151
153
|
`);
|
|
152
|
-
program.
|
|
154
|
+
program.setFile('source/Person.bs', `
|
|
153
155
|
class Person
|
|
154
156
|
end class
|
|
155
157
|
`);
|
|
156
158
|
program.validate();
|
|
157
|
-
(0, chai_1.expect)(program.getCodeActions(file.
|
|
159
|
+
(0, chai_1.expect)(program.getCodeActions(file.srcPath,
|
|
158
160
|
// new Per|son()
|
|
159
161
|
util_1.util.createRange(2, 34, 2, 34)).map(x => x.title).sort()).to.eql([
|
|
160
162
|
`import "pkg:/source/Person.bs"`
|
|
@@ -162,26 +164,26 @@ describe('CodeActionsProcessor', () => {
|
|
|
162
164
|
});
|
|
163
165
|
it('suggests class imports', () => {
|
|
164
166
|
//import the file in two scopes
|
|
165
|
-
program.
|
|
167
|
+
program.setFile('components/comp1.xml', (0, testHelpers_spec_1.trim) `
|
|
166
168
|
<?xml version="1.0" encoding="utf-8" ?>
|
|
167
169
|
<component name="ChildScene">
|
|
168
170
|
<script uri="comp1.bs" />
|
|
169
171
|
</component>
|
|
170
172
|
`);
|
|
171
173
|
//import the function here
|
|
172
|
-
const file = program.
|
|
174
|
+
const file = program.setFile('components/comp1.bs', `
|
|
173
175
|
sub init()
|
|
174
176
|
kitty = new Animals.Cat()
|
|
175
177
|
end sub
|
|
176
178
|
`);
|
|
177
|
-
program.
|
|
179
|
+
program.setFile('source/Animals.bs', `
|
|
178
180
|
namespace Animals
|
|
179
181
|
class Cat
|
|
180
182
|
end class
|
|
181
183
|
end namespace
|
|
182
184
|
`);
|
|
183
185
|
program.validate();
|
|
184
|
-
(0, chai_1.expect)(program.getCodeActions(file.
|
|
186
|
+
(0, chai_1.expect)(program.getCodeActions(file.srcPath,
|
|
185
187
|
// new Anim|als.Cat()
|
|
186
188
|
util_1.util.createRange(2, 36, 2, 36)).map(x => x.title).sort()).to.eql([
|
|
187
189
|
`import "pkg:/source/Animals.bs"`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeActionsProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,2CAAiC;AACjC,2CAAwC;AACxC,6DAAiE;AACjE,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AACjD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAChC,MAAM,IAAI,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"CodeActionsProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ describe('SemanticTokensProcessor', () => {
|
|
|
17
17
|
program.dispose();
|
|
18
18
|
});
|
|
19
19
|
it('matches each namespace section', () => {
|
|
20
|
-
const file = program.
|
|
20
|
+
const file = program.setFile('source/main.bs', `
|
|
21
21
|
namespace Earthlings.Humanoids
|
|
22
22
|
class Person
|
|
23
23
|
end class
|
|
@@ -30,7 +30,7 @@ describe('SemanticTokensProcessor', () => {
|
|
|
30
30
|
`);
|
|
31
31
|
program.validate();
|
|
32
32
|
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
33
|
-
(0, chai_1.expect)(program.getSemanticTokens(file.
|
|
33
|
+
(0, chai_1.expect)(program.getSemanticTokens(file.srcPath)).to.eql([{
|
|
34
34
|
range: util_1.util.createRange(7, 34, 7, 44),
|
|
35
35
|
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
|
|
36
36
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"SemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -8,7 +8,7 @@ function plugin() {
|
|
|
8
8
|
name: 'removePrint',
|
|
9
9
|
// note: it is normally not recommended to modify the AST too much at this stage,
|
|
10
10
|
// because if the plugin runs in a language-server context it could break intellisense
|
|
11
|
-
afterFileParse: (file) => {
|
|
11
|
+
afterFileParse: ({ file }) => {
|
|
12
12
|
if (!(0, reflection_1.isBrsFile)(file)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removePrint.js","sourceRoot":"","sources":["../../../src/examples/plugins/removePrint.ts"],"names":[],"mappings":";;AAAA,0DAAsD;AACtD,sDAAkE;AAElE,sDAAwD;AAExD,SAAwB,MAAM;IAC1B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,iFAAiF;QACjF,sFAAsF;QACtF,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"removePrint.js","sourceRoot":"","sources":["../../../src/examples/plugins/removePrint.ts"],"names":[],"mappings":";;AAAA,0DAAsD;AACtD,sDAAkE;AAElE,sDAAwD;AAExD,SAAwB,MAAM;IAC1B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,iFAAiF;QACjF,sFAAsF;QACtF,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACzB,IAAI,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;gBAClB,OAAO;aACV;YACD,kFAAkF;YAClF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;gBAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,wBAAa,EAAC;oBACzB,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,0BAAc,EAAE;iBACtD,CAAC,EAAE;oBACA,QAAQ,EAAE,mBAAQ,CAAC,eAAe;iBACrC,CAAC,CAAC;aACN;QACL,CAAC;KACc,CAAC;AACxB,CAAC;AAnBD,yBAmBC"}
|