intelligent-system-design-language 0.3.34 → 0.4.0

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.
@@ -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.34",
6
+ "version": "0.4.0",
7
7
  "author": "Iron Moose Development",
8
8
  "repository": {
9
9
  "type": "git",
@@ -19,7 +19,7 @@ export class IsdlParserErrorMessageProvider extends LangiumParserErrorMessagePro
19
19
  return friendly !== null && friendly !== void 0 ? friendly : super.buildNoViableAltMessage(options);
20
20
  }
21
21
  friendlyMessage(expected, actual, previous, _rawRuleName) {
22
- var _a, _b, _c;
22
+ var _a, _b, _c, _d, _e;
23
23
  // Spaces in a name. Writing `section Physical Attributes {` (or `actor My Hero {`, etc.)
24
24
  // parses the first word as the name, then expects the body's `{` but hits the second word.
25
25
  // The default "Expecting token of type '{' but found `Attributes`" is opaque to newcomers.
@@ -32,6 +32,11 @@ export class IsdlParserErrorMessageProvider extends LangiumParserErrorMessagePro
32
32
  + `This usually means a name has a space in it — names must be a single word `
33
33
  + `(letters, numbers, and underscores only)${suggestion}.`;
34
34
  }
35
+ // Missing comma in a choices list. Writing `choices: ["A" "B"]` (two STRING tokens in a
36
+ // row) means the user forgot the comma between items. Chevrotain expected `,` or `]`.
37
+ if (((_d = previous === null || previous === void 0 ? void 0 : previous.tokenType) === null || _d === void 0 ? void 0 : _d.name) === 'STRING' && ((_e = actual === null || actual === void 0 ? void 0 : actual.tokenType) === null || _e === void 0 ? void 0 : _e.name) === 'STRING') {
38
+ return `Missing comma between items — expected ',' before ${actual.image}.`;
39
+ }
35
40
  // Extension point for further plain-English rewrites. Add a detector here (keyed
36
41
  // conservatively on expected/previous/actual tokens or ruleName) when a recurring confusing
37
42
  // error is identified; unrecognized cases fall back to the default Langium message.
@@ -1 +1 @@
1
- {"version":3,"file":"isdl-parser-error-message-provider.js","sourceRoot":"","sources":["../../src/language/isdl-parser-error-message-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,OAAO,8BAA+B,SAAQ,iCAAiC;IACxE,yBAAyB,CAAC,OAAY;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC;QAChH,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEQ,uBAAuB,CAAC,OAAY;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC;QAC/F,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAEO,eAAe,CAAC,QAAa,EAAE,MAAW,EAAE,QAAa,EAAE,YAAgC;;QAC/F,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,2FAA2F;QAC3F,+EAA+E;QAC/E,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,GAAG,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,IAAI,MAAK,IAAI,EAAE;YAC5D,MAAM,QAAQ,GAAG,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,IAAI,MAAK,IAAI,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,OAAO,8CAA8C,MAAM,CAAC,KAAK,MAAM;kBACjE,4EAA4E;kBAC5E,2CAA2C,UAAU,GAAG,CAAC;SAClE;QAED,iFAAiF;QACjF,4FAA4F;QAC5F,oFAAoF;QACpF,EAAE;QACF,+FAA+F;QAC/F,oEAAoE;QACpE,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"isdl-parser-error-message-provider.js","sourceRoot":"","sources":["../../src/language/isdl-parser-error-message-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,OAAO,8BAA+B,SAAQ,iCAAiC;IACxE,yBAAyB,CAAC,OAAY;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC;QAChH,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEQ,uBAAuB,CAAC,OAAY;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC;QAC/F,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAEO,eAAe,CAAC,QAAa,EAAE,MAAW,EAAE,QAAa,EAAE,YAAgC;;QAC/F,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,2FAA2F;QAC3F,+EAA+E;QAC/E,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,GAAG,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,IAAI,MAAK,IAAI,EAAE;YAC5D,MAAM,QAAQ,GAAG,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,IAAI,MAAK,IAAI,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,OAAO,8CAA8C,MAAM,CAAC,KAAK,MAAM;kBACjE,4EAA4E;kBAC5E,2CAA2C,UAAU,GAAG,CAAC;SAClE;QAED,wFAAwF;QACxF,sFAAsF;QACtF,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,0CAAE,IAAI,MAAK,QAAQ,IAAI,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,IAAI,MAAK,QAAQ,EAAE;YAChF,OAAO,qDAAqD,MAAM,CAAC,KAAK,GAAG,CAAC;SAC/E;QAED,iFAAiF;QACjF,4FAA4F;QAC5F,oFAAoF;QACpF,EAAE;QACF,+FAA+F;QAC/F,oEAAoE;QACpE,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -52796,12 +52796,15 @@ var IsdlParserErrorMessageProvider = class extends LangiumParserErrorMessageProv
52796
52796
  return friendly != null ? friendly : super.buildNoViableAltMessage(options);
52797
52797
  }
52798
52798
  friendlyMessage(expected, actual, previous, _rawRuleName) {
52799
- var _a, _b, _c;
52799
+ var _a, _b, _c, _d, _e;
52800
52800
  if ((expected == null ? void 0 : expected.name) === "{" && ((_a = actual == null ? void 0 : actual.tokenType) == null ? void 0 : _a.name) === "ID") {
52801
52801
  const combined = `${(_b = previous == null ? void 0 : previous.image) != null ? _b : ""}${actual.image}`;
52802
52802
  const suggestion = ((_c = previous == null ? void 0 : previous.tokenType) == null ? void 0 : _c.name) === "ID" && (previous == null ? void 0 : previous.image) ? `, e.g. \`${combined}\`` : "";
52803
52803
  return `Expected '{' to open the body, but found \`${actual.image}\`. This usually means a name has a space in it \u2014 names must be a single word (letters, numbers, and underscores only)${suggestion}.`;
52804
52804
  }
52805
+ if (((_d = previous == null ? void 0 : previous.tokenType) == null ? void 0 : _d.name) === "STRING" && ((_e = actual == null ? void 0 : actual.tokenType) == null ? void 0 : _e.name) === "STRING") {
52806
+ return `Missing comma between items \u2014 expected ',' before ${actual.image}.`;
52807
+ }
52805
52808
  return void 0;
52806
52809
  }
52807
52810
  };