intelligent-system-design-language 0.3.24 → 0.3.26
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/out/cli/cli-util.js +13 -0
- package/out/cli/cli-util.js.map +1 -1
- package/out/cli/components/init-hook-generator.js +47 -2
- package/out/cli/components/init-hook-generator.js.map +1 -1
- package/out/cli/components/language-generator.js +17 -13
- package/out/cli/components/language-generator.js.map +1 -1
- package/out/cli/components/method-generator.js +11 -1
- package/out/cli/components/method-generator.js.map +1 -1
- package/out/cli/components/utils.js +34 -1
- package/out/cli/components/utils.js.map +1 -1
- package/out/cli/components/vue/vue-datatable2-component-generator.js +45 -34
- package/out/cli/components/vue/vue-datatable2-component-generator.js.map +1 -1
- package/out/cli/components/vue/vue-generator.js +4 -0
- package/out/cli/components/vue/vue-generator.js.map +1 -1
- package/out/cli/components/vue/vue-sheet-application-generator.js +19 -2
- package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -1
- package/out/extension/main.cjs +1814 -729
- package/out/extension/main.cjs.map +3 -3
- package/out/extension/main.js +10 -3
- package/out/extension/main.js.map +1 -1
- package/out/extension/package.json +1 -1
- package/out/language/generated/ast.js +205 -3
- package/out/language/generated/ast.js.map +1 -1
- package/out/language/generated/grammar.js +1533 -748
- package/out/language/generated/grammar.js.map +1 -1
- package/out/language/intelligent-system-design-language-validator.js +70 -3
- package/out/language/intelligent-system-design-language-validator.js.map +1 -1
- package/out/language/isdl-parser-error-message-provider.js +18 -5
- package/out/language/isdl-parser-error-message-provider.js.map +1 -1
- package/out/language/isdl-scope-provider.js +11 -1
- package/out/language/isdl-scope-provider.js.map +1 -1
- package/out/language/main.cjs +1795 -728
- package/out/language/main.cjs.map +3 -3
- package/out/package.json +1 -1
- package/out/test/parsing/table-params.test.js +61 -0
- package/out/test/parsing/table-params.test.js.map +1 -0
- package/out/test/validating/settings.test.js +94 -0
- package/out/test/validating/settings.test.js.map +1 -0
- package/package.json +1 -1
package/out/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"displayName": "ISDL - Intelligent System Design Language",
|
|
4
4
|
"description": "Intelligent System Design Language support for Visual Studio Code",
|
|
5
5
|
"publisher": "IronMooseDevelopment",
|
|
6
|
-
"version": "0.3.
|
|
6
|
+
"version": "0.3.26",
|
|
7
7
|
"author": "Iron Moose Development",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { EmptyFileSystem } from 'langium';
|
|
2
|
+
import { parseHelper } from 'langium/test';
|
|
3
|
+
import { describe, it, expect } from 'vitest';
|
|
4
|
+
import { createIntelligentSystemDesignLanguageServices } from '../../language/intelligent-system-design-language-module.js';
|
|
5
|
+
import { isActor, isTableField, isTableSortableParam, isTableSearchableParam, isTablePinnableParam, } from '../../language/generated/ast.js';
|
|
6
|
+
const services = createIntelligentSystemDesignLanguageServices(EmptyFileSystem);
|
|
7
|
+
const parse = parseHelper(services.IntelligentSystemDesignLanguage);
|
|
8
|
+
const PREAMBLE = `config T {
|
|
9
|
+
id = "t"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
item Spell {
|
|
13
|
+
string Kind
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
16
|
+
async function parseEntry(src) {
|
|
17
|
+
var _a;
|
|
18
|
+
const doc = await parse(PREAMBLE + src, { validation: true });
|
|
19
|
+
const diags = ((_a = doc.diagnostics) !== null && _a !== void 0 ? _a : []).filter(d => d.severity === 1);
|
|
20
|
+
return { entry: doc.parseResult.value, diags };
|
|
21
|
+
}
|
|
22
|
+
function tableParams(entry, tableName) {
|
|
23
|
+
var _a;
|
|
24
|
+
const actor = entry.documents.find(isActor);
|
|
25
|
+
const table = actor.body.find(p => isTableField(p) && p.name === tableName);
|
|
26
|
+
return (_a = table === null || table === void 0 ? void 0 : table.params) !== null && _a !== void 0 ? _a : [];
|
|
27
|
+
}
|
|
28
|
+
describe('table view-preference params', () => {
|
|
29
|
+
it('parses sortable:/searchable:/pinnable: with no validation errors', async () => {
|
|
30
|
+
var _a, _b, _c;
|
|
31
|
+
const { entry, diags } = await parseEntry(`actor A {
|
|
32
|
+
table<Spell> Spells(sortable: false, searchable: false, pinnable: false)
|
|
33
|
+
}`);
|
|
34
|
+
expect(diags).toHaveLength(0);
|
|
35
|
+
const params = tableParams(entry, 'Spells');
|
|
36
|
+
expect((_a = params.find((p) => isTableSortableParam(p))) === null || _a === void 0 ? void 0 : _a.value).toBe(false);
|
|
37
|
+
expect((_b = params.find((p) => isTableSearchableParam(p))) === null || _b === void 0 ? void 0 : _b.value).toBe(false);
|
|
38
|
+
expect((_c = params.find((p) => isTablePinnableParam(p))) === null || _c === void 0 ? void 0 : _c.value).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
it('accepts the params with true values too', async () => {
|
|
41
|
+
var _a;
|
|
42
|
+
const { entry, diags } = await parseEntry(`actor A {
|
|
43
|
+
table<Spell> Spells(sortable: true, searchable: true, pinnable: true)
|
|
44
|
+
}`);
|
|
45
|
+
expect(diags).toHaveLength(0);
|
|
46
|
+
const params = tableParams(entry, 'Spells');
|
|
47
|
+
expect((_a = params.find((p) => isTableSortableParam(p))) === null || _a === void 0 ? void 0 : _a.value).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
it('parses readonly modifier independently of the params', async () => {
|
|
50
|
+
var _a;
|
|
51
|
+
const { entry, diags } = await parseEntry(`actor A {
|
|
52
|
+
readonly table<Spell> Locked(sortable: false)
|
|
53
|
+
}`);
|
|
54
|
+
expect(diags).toHaveLength(0);
|
|
55
|
+
const actor = entry.documents.find(isActor);
|
|
56
|
+
const table = actor.body.find(p => isTableField(p) && p.name === 'Locked');
|
|
57
|
+
expect(table.modifier).toBe('readonly');
|
|
58
|
+
expect((_a = table.params.find((p) => isTableSortableParam(p))) === null || _a === void 0 ? void 0 : _a.value).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=table-params.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-params.test.js","sourceRoot":"","sources":["../../../src/test/parsing/table-params.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { EmptyFileSystem } from 'langium';
|
|
2
|
+
import { parseHelper } from 'langium/test';
|
|
3
|
+
import { describe, it, expect } from 'vitest';
|
|
4
|
+
import { createIntelligentSystemDesignLanguageServices } from '../../language/intelligent-system-design-language-module.js';
|
|
5
|
+
const services = createIntelligentSystemDesignLanguageServices(EmptyFileSystem);
|
|
6
|
+
const parse = parseHelper(services.IntelligentSystemDesignLanguage);
|
|
7
|
+
// A config with one setting per scope/type, used by the read/write tests.
|
|
8
|
+
const SETTINGS = `config T {
|
|
9
|
+
id = "t"
|
|
10
|
+
settings {
|
|
11
|
+
client {
|
|
12
|
+
boolean ShowToHit(initial: true, hint: "Show to-hit on sheets")
|
|
13
|
+
}
|
|
14
|
+
world {
|
|
15
|
+
number StartingKarma(initial: 3)
|
|
16
|
+
string Motto(initial: "onward")
|
|
17
|
+
choice<string> KarmaInChat(choices: ["Never", "GM Only", "Everyone"], initial: "GM Only")
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}`;
|
|
21
|
+
async function errors(src) {
|
|
22
|
+
var _a;
|
|
23
|
+
const doc = await parse(src, { validation: true });
|
|
24
|
+
return ((_a = doc.diagnostics) !== null && _a !== void 0 ? _a : []).filter(d => d.severity === 1);
|
|
25
|
+
}
|
|
26
|
+
describe('system settings', () => {
|
|
27
|
+
it('parses a settings block with all four types across both scopes', async () => {
|
|
28
|
+
const diags = await errors(SETTINGS + `\n\nactor A {\n number Foo\n}`);
|
|
29
|
+
expect(diags).toHaveLength(0);
|
|
30
|
+
});
|
|
31
|
+
it('resolves System.X reads in logic', async () => {
|
|
32
|
+
const src = SETTINGS + `\n\nactor A {\n action X {\n fleeting k = System.StartingKarma\n if (System.ShowToHit) {\n log("yes")\n }\n }\n}`;
|
|
33
|
+
const diags = await errors(src);
|
|
34
|
+
expect(diags).toHaveLength(0);
|
|
35
|
+
});
|
|
36
|
+
it('resolves System.X in a calculated value: (return path)', async () => {
|
|
37
|
+
const src = SETTINGS + `\n\nactor A {\n number Bar(value: { return System.StartingKarma + 1 })\n}`;
|
|
38
|
+
const diags = await errors(src);
|
|
39
|
+
expect(diags).toHaveLength(0);
|
|
40
|
+
});
|
|
41
|
+
it('resolves System.X in a visibility: method block', async () => {
|
|
42
|
+
const src = SETTINGS + `\n\nactor A {\n string Foo(visibility: { if (System.ShowToHit) { return Visibility.default } return Visibility.hidden })\n}`;
|
|
43
|
+
const diags = await errors(src);
|
|
44
|
+
expect(diags).toHaveLength(0);
|
|
45
|
+
});
|
|
46
|
+
it('does NOT parse a bare System.X in visibility: (must be a method block)', async () => {
|
|
47
|
+
// visibility: is (VisibilityValue | MethodBlock); SystemSettingAccess lives in
|
|
48
|
+
// PrimitiveExpression, not MethodBlockExpression, so a bare form is a syntax error.
|
|
49
|
+
const src = SETTINGS + `\n\nactor A {\n string Foo(visibility: System.ShowToHit)\n}`;
|
|
50
|
+
const diags = await errors(src);
|
|
51
|
+
expect(diags.length).toBeGreaterThan(0);
|
|
52
|
+
});
|
|
53
|
+
it('errors on an unknown System.X reference', async () => {
|
|
54
|
+
const src = SETTINGS + `\n\nactor A {\n action X {\n fleeting k = System.DoesNotExist\n }\n}`;
|
|
55
|
+
const diags = await errors(src);
|
|
56
|
+
expect(diags.some(d => /Could not resolve reference/.test(d.message))).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
it('allows writing a client-scoped setting without a GM check', async () => {
|
|
59
|
+
const src = SETTINGS + `\n\nactor A {\n action X {\n System.ShowToHit = false\n }\n}`;
|
|
60
|
+
const diags = await errors(src);
|
|
61
|
+
expect(diags).toHaveLength(0);
|
|
62
|
+
});
|
|
63
|
+
it('rejects writing a world-scoped setting without a GM check', async () => {
|
|
64
|
+
const src = SETTINGS + `\n\nactor A {\n action X {\n System.StartingKarma = 5\n }\n}`;
|
|
65
|
+
const diags = await errors(src);
|
|
66
|
+
expect(diags.some(d => /only succeeds for a GM/.test(d.message))).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
it('allows writing a world-scoped setting inside if (User.isGM)', async () => {
|
|
69
|
+
const src = SETTINGS + `\n\nactor A {\n action X {\n if (User.isGM) {\n System.StartingKarma = 5\n }\n }\n}`;
|
|
70
|
+
const diags = await errors(src);
|
|
71
|
+
expect(diags).toHaveLength(0);
|
|
72
|
+
});
|
|
73
|
+
it('rejects an initial value whose type does not match the keyword', async () => {
|
|
74
|
+
const src = `config T {\n id = "t"\n settings {\n client {\n boolean Bad(initial: 3)\n }\n }\n}\n\nactor A {\n number Foo\n}`;
|
|
75
|
+
const diags = await errors(src);
|
|
76
|
+
expect(diags.some(d => /true\/false initial value/.test(d.message))).toBe(true);
|
|
77
|
+
});
|
|
78
|
+
it('requires a choices list on a choice<string> setting', async () => {
|
|
79
|
+
const src = `config T {\n id = "t"\n settings {\n world {\n choice<string> Bad\n }\n }\n}\n\nactor A {\n number Foo\n}`;
|
|
80
|
+
const diags = await errors(src);
|
|
81
|
+
expect(diags.some(d => /requires a non-empty 'choices:' list/.test(d.message))).toBe(true);
|
|
82
|
+
});
|
|
83
|
+
it('rejects an initial value not present in the choices list', async () => {
|
|
84
|
+
const src = `config T {\n id = "t"\n settings {\n world {\n choice<string> Bad(choices: ["A", "B"], initial: "C")\n }\n }\n}\n\nactor A {\n number Foo\n}`;
|
|
85
|
+
const diags = await errors(src);
|
|
86
|
+
expect(diags.some(d => /is not one of the listed choices/.test(d.message))).toBe(true);
|
|
87
|
+
});
|
|
88
|
+
it('rejects choices on a non-choice setting', async () => {
|
|
89
|
+
const src = `config T {\n id = "t"\n settings {\n client {\n boolean Bad(choices: ["A"])\n }\n }\n}\n\nactor A {\n number Foo\n}`;
|
|
90
|
+
const diags = await errors(src);
|
|
91
|
+
expect(diags.some(d => /only valid on a choice<string> setting/.test(d.message))).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=settings.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.test.js","sourceRoot":"","sources":["../../../src/test/validating/settings.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"displayName": "ISDL - Intelligent System Design Language",
|
|
4
4
|
"description": "Intelligent System Design Language support for Visual Studio Code",
|
|
5
5
|
"publisher": "IronMooseDevelopment",
|
|
6
|
-
"version": "0.3.
|
|
6
|
+
"version": "0.3.26",
|
|
7
7
|
"author": "Iron Moose Development",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|