@meltemi/diagrams-language 1.9.0 → 1.10.17

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.
@@ -19,6 +19,13 @@ export interface DiagnosticData {
19
19
  readonly width: number;
20
20
  readonly height: number;
21
21
  };
22
+ /** `layout.gap-floor`: the participant, the side, the gap written and the gap drawn. */
23
+ readonly gap?: {
24
+ readonly participant: string;
25
+ readonly side: "before" | "after";
26
+ readonly written: number;
27
+ readonly applied: number;
28
+ };
22
29
  }
23
30
  /** A problem found in a source text. Codes are stable and documented in docs/language/diagnostics.md. */
24
31
  export interface Diagnostic {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/F;AAED,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,+DAA+D;AAC/D,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAM;gBAEL,KAAK,EAAE,SAAS;IAE7C,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAMvC,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAwBrF;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAUhF;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAErE"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9F,wFAAwF;IACxF,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,+DAA+D;AAC/D,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAM;gBAEL,KAAK,EAAE,SAAS;IAE7C,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAMvC,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAwBrF;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAUhF;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAErE"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AA2CA,+DAA+D;AAC/D,MAAM,OAAO,aAAa;IAGK;IAFpB,KAAK,GAAiB,EAAE,CAAC;IAElC,YAA6B,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;IAAG,CAAC;IAEjD,GAAG,CAAC,KAAsB;QACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB,EAAE,KAAsB;IACvE,MAAM,UAAU,GAQZ;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,WAAkC;IAChE,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACzB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAC/C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;QAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAkC;IAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAkDA,+DAA+D;AAC/D,MAAM,OAAO,aAAa;IAGK;IAFpB,KAAK,GAAiB,EAAE,CAAC;IAElC,YAA6B,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;IAAG,CAAC;IAEjD,GAAG,CAAC,KAAsB;QACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB,EAAE,KAAsB;IACvE,MAAM,UAAU,GAQZ;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,WAAkC;IAChE,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACzB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAC/C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;QAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAkC;IAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AACzD,CAAC"}
package/dist/format.d.ts CHANGED
@@ -17,6 +17,7 @@ export type FormatResult = {
17
17
  /**
18
18
  * Lays out a source in the canonical format. Only spaces, line breaks and indentation change:
19
19
  * token text and order, and every comment, are kept. Files with syntax errors are refused.
20
+ * A `pen` statement's point list is printed filled to 100 columns, not one item per line.
20
21
  */
21
22
  export declare function formatSource(text: string, options?: FormatOptions): FormatResult;
22
23
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAqBxE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CAyBpF"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAyBxE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CAyBpF"}
package/dist/format.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { lastToken, walk } from "./cst.js";
1
2
  import { createDiagnostic } from "./diagnostics.js";
2
3
  import { diffLines } from "./diff.js";
3
4
  import { messages } from "./messages/index.js";
@@ -21,9 +22,14 @@ const BLOCK_ITEMS = new Set([
21
22
  "StoryBlock",
22
23
  "ExportBlock",
23
24
  ]);
25
+ /** Columns a `pen` statement fits in on one line, and the lines of its filled point list. */
26
+ const FILL_COLUMNS = 100;
27
+ /** Columns a tab counts for when a line is measured. */
28
+ const TAB_COLUMNS = 4;
24
29
  /**
25
30
  * Lays out a source in the canonical format. Only spaces, line breaks and indentation change:
26
31
  * token text and order, and every comment, are kept. Files with syntax errors are refused.
32
+ * A `pen` statement's point list is printed filled to 100 columns, not one item per line.
27
33
  */
28
34
  export function formatSource(text, options = {}) {
29
35
  const indent = options.indent ?? 2;
@@ -44,27 +50,71 @@ export function formatSource(text, options = {}) {
44
50
  const errors = parsed.diagnostics.filter((d) => d.severity === "error");
45
51
  if (errors.length > 0)
46
52
  return { ok: false, diagnostics: errors };
47
- const formatted = print(parsed.tokens, parsed.root.items, {
53
+ const formatted = print(parsed.tokens, parsed.root.items, penLists(parsed.root, parsed.tokens), {
48
54
  unit: indent === "tab" ? "\t" : " ".repeat(indent),
49
55
  eol: detectLineEnding(text),
50
56
  });
51
57
  const edits = formatted === text ? [] : diffLines(text, formatted);
52
58
  return { ok: true, text: formatted, edits, changed: formatted !== text };
53
59
  }
54
- function print(tokens, items, settings) {
60
+ /** The point list of every `pen` statement (its first list argument), in source order. */
61
+ function penLists(root, tokens) {
62
+ const index = new Map();
63
+ tokens.forEach((token, i) => index.set(token, i));
64
+ const found = [];
65
+ walk(root, (node) => {
66
+ if (node.kind !== "KeywordStatement" || node.keyword.text !== "pen")
67
+ return;
68
+ const list = node.args.find((arg) => arg.kind === "List");
69
+ const end = lastToken(node);
70
+ const first = index.get(node.keyword);
71
+ const open = list === undefined ? undefined : index.get(list.open);
72
+ const last = end === undefined ? undefined : index.get(end);
73
+ if (first !== undefined && open !== undefined && last !== undefined) {
74
+ found.push({ first, open, last });
75
+ }
76
+ });
77
+ return found.sort((a, b) => a.first - b.first);
78
+ }
79
+ /** Width of a text in columns, a tab counting for {@link TAB_COLUMNS}. */
80
+ function columnsOf(text) {
81
+ return text.length + (text.split("\t").length - 1) * (TAB_COLUMNS - 1);
82
+ }
83
+ /** Whether one space separates `token` from what was printed before it on the same line. */
84
+ function spaceBetween(lastKind, last, token) {
85
+ if (lastKind === null)
86
+ return false;
87
+ if (lastKind === "comment")
88
+ return true;
89
+ if (NO_SPACE_BEFORE.has(token.kind) || NO_SPACE_AFTER.has(lastKind))
90
+ return false;
91
+ // `api["API"]`: a bracket written right after an identifier is a shorthand declaration.
92
+ if (token.kind === "LBracket" &&
93
+ lastKind === "Identifier" &&
94
+ last !== null &&
95
+ last.end === token.start &&
96
+ token.leadingTrivia.length === 0) {
97
+ return false;
98
+ }
99
+ return true;
100
+ }
101
+ function print(tokens, items, pens, settings) {
55
102
  // ------------------------------------------------------------ structural facts
56
103
  const partner = new Map();
104
+ /** The innermost opener around every token, or -1 at the top level. */
105
+ const enclosing = [];
57
106
  const stack = [];
58
107
  tokens.forEach((token, i) => {
59
- if (OPENERS.has(token.kind))
60
- stack.push(i);
61
- else if (CLOSERS.has(token.kind)) {
108
+ if (CLOSERS.has(token.kind)) {
62
109
  const open = stack.pop();
63
110
  if (open !== undefined) {
64
111
  partner.set(open, i);
65
112
  partner.set(i, open);
66
113
  }
67
114
  }
115
+ enclosing.push(stack[stack.length - 1] ?? -1);
116
+ if (OPENERS.has(token.kind))
117
+ stack.push(i);
68
118
  });
69
119
  const spansNewline = (open) => {
70
120
  const close = partner.get(open) ?? open;
@@ -87,6 +137,105 @@ function print(tokens, items, settings) {
87
137
  if (item >= 0)
88
138
  lastTokenOfItem.set(i, item);
89
139
  });
140
+ /**
141
+ * Columns of the tokens `from` to `to` printed on one line, with the comments between them.
142
+ * The comments before `from` are not counted.
143
+ */
144
+ const flatColumns = (from, to) => {
145
+ let columns = 0;
146
+ let lastKind = null;
147
+ let last = null;
148
+ for (let j = from; j <= to; j++) {
149
+ const token = tokens[j];
150
+ if (j > from) {
151
+ for (const trivia of token.leadingTrivia) {
152
+ if (trivia.kind !== "LineComment" && trivia.kind !== "BlockComment")
153
+ continue;
154
+ columns += (lastKind === null ? 0 : 1) + columnsOf(trivia.text);
155
+ lastKind = "comment";
156
+ last = null;
157
+ }
158
+ }
159
+ if (token.kind === "Newline" || token.kind === "EOF")
160
+ continue;
161
+ if (spaceBetween(lastKind, last, token))
162
+ columns += 1;
163
+ columns += columnsOf(token.text);
164
+ lastKind = token.kind;
165
+ last = token;
166
+ }
167
+ return columns;
168
+ };
169
+ /** Whether a comment between `open` and `close` ends its line or stands on a line of its own. */
170
+ const breakingComment = (open, close) => {
171
+ for (let j = open + 1; j <= close; j++) {
172
+ for (const trivia of tokens[j].leadingTrivia) {
173
+ if (trivia.kind === "LineComment")
174
+ return true;
175
+ if (trivia.kind === "BlockComment" &&
176
+ (trivia.text.includes("\n") || tokens[j - 1].kind === "Newline")) {
177
+ return true;
178
+ }
179
+ }
180
+ }
181
+ return false;
182
+ };
183
+ /** The last token of the list item that starts at `from`, with the commas that follow it. */
184
+ const itemEnd = (from, close) => {
185
+ let level = 0;
186
+ for (let j = from; j < close; j++) {
187
+ const kind = tokens[j].kind;
188
+ if (OPENERS.has(kind))
189
+ level++;
190
+ else if (CLOSERS.has(kind))
191
+ level--;
192
+ else if (kind === "Comma" && level === 0) {
193
+ let end = j;
194
+ for (let k = j + 1; k < close; k++) {
195
+ const next = tokens[k].kind;
196
+ if (next === "Comma")
197
+ end = k;
198
+ else if (next !== "Newline")
199
+ break;
200
+ }
201
+ return end;
202
+ }
203
+ }
204
+ return close - 1;
205
+ };
206
+ /**
207
+ * Pen point lists: `true` when filled over several lines, `false` when printed on one line.
208
+ * The choice depends on the statement's tokens, comments and depth only, never on the source's
209
+ * line breaks, so formatting the output again makes the same choice. Later statements are
210
+ * decided first, so a statement's block already knows whether a filled list expands it.
211
+ */
212
+ const fills = new Map();
213
+ const indentColumns = columnsOf(settings.unit);
214
+ for (const pen of [...pens].reverse()) {
215
+ const close = partner.get(pen.open) ?? pen.open;
216
+ for (let j = pen.open; j < close; j++)
217
+ expanded.delete(j);
218
+ let levels = 0;
219
+ for (let o = enclosing[pen.first]; o >= 0; o = enclosing[o])
220
+ levels++;
221
+ // The statement's first line ends at a block written over several lines.
222
+ let end = pen.last;
223
+ for (let j = close + 1; j <= pen.last; j++) {
224
+ if (expanded.has(j)) {
225
+ end = j;
226
+ break;
227
+ }
228
+ }
229
+ const filled = breakingComment(pen.open, close) ||
230
+ levels * indentColumns + flatColumns(pen.first, end) > FILL_COLUMNS;
231
+ fills.set(pen.open, filled);
232
+ if (filled) {
233
+ // The list's lines expand every block around the statement.
234
+ expanded.add(pen.open);
235
+ for (let o = enclosing[pen.first]; o >= 0; o = enclosing[o])
236
+ expanded.add(o);
237
+ }
238
+ }
90
239
  // ------------------------------------------------------------ emitter state
91
240
  const lines = [];
92
241
  let line = "";
@@ -100,11 +249,18 @@ function print(tokens, items, settings) {
100
249
  let forced = null;
101
250
  let afterItem = null;
102
251
  const open = [];
252
+ /**
253
+ * The pen point list being printed, until its `]`: `item` is set after each of its commas,
254
+ * when the next item is placed on the current line or the next one.
255
+ */
256
+ let fill = null;
103
257
  const depth = () => open.filter((o) => o.kind === "LBrace" || o.expanded).length;
104
258
  const insideExpandedGroup = () => {
105
259
  const top = open[open.length - 1];
106
260
  return top !== undefined && top.kind !== "LBrace" && top.expanded;
107
261
  };
262
+ /** The text of the line being built after its last line break (a block comment may hold some). */
263
+ const currentLine = () => line.slice(line.lastIndexOf("\n") + 1);
108
264
  const newLines = (count, level) => {
109
265
  lines.push(line.replace(/[ \t]+$/, ""));
110
266
  if (count >= 2)
@@ -114,6 +270,14 @@ function print(tokens, items, settings) {
114
270
  const breaksFor = (isToken) => {
115
271
  if (!started)
116
272
  return 0;
273
+ if (fill !== null) {
274
+ // Inside a pen's point list the source's line breaks are dropped: only a comment that
275
+ // stood on a line of its own, the line after a line comment and the fill's breaks remain.
276
+ let breaks = mustBreak || (!isToken && pending > 0) ? 1 : 0;
277
+ if (forced !== null && (isToken || breaks > 0))
278
+ breaks = forced;
279
+ return breaks;
280
+ }
117
281
  let breaks = Math.min(pending, 2);
118
282
  if (mustBreak)
119
283
  breaks = Math.max(breaks, 1);
@@ -148,23 +312,7 @@ function print(tokens, items, settings) {
148
312
  if (isLine)
149
313
  mustBreak = true;
150
314
  };
151
- const needsSpace = (token) => {
152
- if (lastKind === null)
153
- return false;
154
- if (lastKind === "comment")
155
- return true;
156
- if (NO_SPACE_BEFORE.has(token.kind) || NO_SPACE_AFTER.has(lastKind))
157
- return false;
158
- // `api["API"]`: a bracket written right after an identifier is a shorthand declaration.
159
- if (token.kind === "LBracket" &&
160
- lastKind === "Identifier" &&
161
- lastToken !== null &&
162
- lastToken.end === token.start &&
163
- token.leadingTrivia.length === 0) {
164
- return false;
165
- }
166
- return true;
167
- };
315
+ const needsSpace = (token) => spaceBetween(lastKind, lastToken, token);
168
316
  // ------------------------------------------------------------ emission
169
317
  tokens.forEach((token, i) => {
170
318
  for (const trivia of token.leadingTrivia) {
@@ -187,6 +335,14 @@ function print(tokens, items, settings) {
187
335
  if (top?.expanded)
188
336
  forced = 1;
189
337
  }
338
+ // A filled pen list moves an item to the next line when it no longer fits on this one.
339
+ if (fill?.filled && fill.item && token.kind !== "Comma" && i !== fill.close) {
340
+ fill.item = false;
341
+ const current = currentLine();
342
+ const width = columnsOf(current) + (needsSpace(token) ? 1 : 0) + flatColumns(i, itemEnd(i, fill.close));
343
+ if (current.trim() !== "" && width > FILL_COLUMNS)
344
+ forced = 1;
345
+ }
190
346
  const breaks = breaksFor(true);
191
347
  if (breaks > 0)
192
348
  newLines(breaks, depth());
@@ -202,6 +358,17 @@ function print(tokens, items, settings) {
202
358
  open.push({ index: i, expanded: isExpanded, kind: token.kind });
203
359
  if (isExpanded)
204
360
  forced = 1;
361
+ const filled = fills.get(i);
362
+ if (filled !== undefined) {
363
+ fill = { open: i, close: partner.get(i) ?? i, filled, item: false };
364
+ }
365
+ }
366
+ else if (fill !== null && i === fill.close) {
367
+ fill = null;
368
+ }
369
+ else if (fill !== null && token.kind === "Comma") {
370
+ if (open[open.length - 1]?.index === fill.open)
371
+ fill.item = true;
205
372
  }
206
373
  else if (token.kind === "Comma" && insideExpandedGroup()) {
207
374
  forced = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/lexer.js CHANGED
@@ -169,9 +169,21 @@ class Lexer {
169
169
  this.pushToken("Arrow", start);
170
170
  continue;
171
171
  }
172
- if (c1 === CH_MINUS && text.charCodeAt(start + 2) === CH_GT) {
173
- this.pos += 3;
174
- this.pushToken("DashedArrow", start);
172
+ if (c1 === CH_MINUS) {
173
+ // The longest match: `-->`, then `---` (so `--->` is `---` and an unexpected `>`), then `--`.
174
+ const c2 = text.charCodeAt(start + 2);
175
+ if (c2 === CH_GT) {
176
+ this.pos += 3;
177
+ this.pushToken("DashedArrow", start);
178
+ }
179
+ else if (c2 === CH_MINUS) {
180
+ this.pos += 3;
181
+ this.pushToken("DashedLine", start);
182
+ }
183
+ else {
184
+ this.pos += 2;
185
+ this.pushToken("Line", start);
186
+ }
175
187
  continue;
176
188
  }
177
189
  if (isDigit(c1)) {
@@ -343,7 +355,7 @@ class Lexer {
343
355
  }
344
356
  if (c === CH_MINUS) {
345
357
  const c1 = text.charCodeAt(i + 1);
346
- return c1 === CH_GT || isDigit(c1) || (c1 === CH_MINUS && text.charCodeAt(i + 2) === CH_GT);
358
+ return c1 === CH_GT || c1 === CH_MINUS || isDigit(c1);
347
359
  }
348
360
  if (c === CH_LT)
349
361
  return twoWayArrowLength(text, i) > 0;
package/dist/lexer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQ3C,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAoB;IACpD,CAAC,SAAS,EAAE,QAAQ,CAAC;IACrB,CAAC,SAAS,EAAE,QAAQ,CAAC;IACrB,CAAC,SAAS,EAAE,QAAQ,CAAC;IACrB,CAAC,SAAS,EAAE,QAAQ,CAAC;IACrB,CAAC,WAAW,EAAE,UAAU,CAAC;IACzB,CAAC,WAAW,EAAE,UAAU,CAAC;IACzB,CAAC,QAAQ,EAAE,OAAO,CAAC;IACnB,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3B,CAAC,QAAQ,EAAE,OAAO,CAAC;IACnB,CAAC,MAAM,EAAE,KAAK,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAiB;IACtC,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;CACZ,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,IAAY,EAAE,CAAS;IAChD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAAmB,IAAI,SAAS,CAAC,IAAI,CAAC;IAC3E,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,KAAK;IAUU;IACA;IAVX,GAAG,GAAG,CAAC,CAAC;IACR,MAAM,GAAa,EAAE,CAAC;IACtB,WAAW,GAAG,CAAC,CAAC;IACP,MAAM,GAAY,EAAE,CAAC;IACrB,WAAW,GAAiB,EAAE,CAAC;IACxC,cAAc,GAAyB,IAAI,CAAC;IAC5C,wBAAwB,GAAG,KAAK,CAAC;IAEzC,YACmB,IAAY,EACZ,KAAgB;QADhB,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAW;IAChC,CAAC;IAEJ,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBACxC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC;oBACV,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,WAAW,CAAC,GAAG;oBACxB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;oBAC1B,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;iBACnB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;wBACtF,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC;;wBAAM,MAAM;gBACf,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC;wBAAE,MAAM;oBACnF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,6BAA6B;wBACnC,OAAO,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,mBAAmB;wBACnD,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE;qBAC7C,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,gDAAgD;gBAChD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1E,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACtC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBACd,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,IAAI,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC5D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBACd,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBACrC,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,iFAAiF;gBACjF,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACtE,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,KAAsB;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,UAAU,CAAC,IAAgB,EAAE,KAAa;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3F,CAAC;IAEO,SAAS,CACf,IAAe,EACf,KAAa,EACb,KAA8E;QAE9E,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,KAAK,GAAU;YACnB,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;YACtC,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;YAC9D,aAAa;YACb,GAAG,KAAK;SACT,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,SAAS,CAAC,KAAa,EAAE,IAAmB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC1E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,2BAA2B;gBACjC,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5E,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;gBAC5C,KAAK,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACpF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEO,MAAM,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACrB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC;gBAAE,MAAM;YACnF,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzD,KAAK,IAAI,IAAI,CAAC;oBACd,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,KAAK,IAAI,OAAO,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,IAAI,CAAC;oBACjB,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE;wBAC5C,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;qBACvB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,WAAW,CAAC,kBAAkB;gBACvC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBAC9B,KAAK,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,iBAAiB,CAAC,CAAS;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACrE,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACjE,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,OAAO,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,KAAK,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,OAAO,CAAC,KAAa;QAC3B,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACpF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,6BAA6B;YACnC,OAAO,EACL,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAC3C,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAChC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACvD;YACP,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YAC5C,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
@@ -84,9 +84,9 @@ export const en = {
84
84
  lineEndings: "Use one line ending style per file; edits follow the first one.",
85
85
  escapes: 'Supported escapes are \\", \\\\, \\n and \\t.',
86
86
  multilineString: "Strings cannot span lines; use \\n for a line break inside a label.",
87
- arrows: "The supported arrows are `->`, `-->`, `<->` and `<-->`.",
87
+ arrows: "The relation tokens are `->`, `-->`, `--`, `---`, `<->` and `<-->`.",
88
88
  identifiers: "Identifiers use ASCII letters, digits and `_`; put other text in a quoted label.",
89
- minus: "A minus sign must be followed by a digit or `>`.",
89
+ minus: "A minus sign must be followed by a digit, `-` or `>`.",
90
90
  separateStatements: "Separate statements with a line break or `;`.",
91
91
  topLevel: "Top-level statements are `language`, `import`, `model`, `diagram`, `story`, `export` and `theme`.",
92
92
  insideDiagram: "Elements and relations belong inside a `diagram <id>: flow { ... }` block.",
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/messages/en.ts"],"names":[],"mappings":"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"}
@@ -62,9 +62,9 @@ export const es = {
62
62
  lineEndings: "Usa un solo estilo de fin de línea por archivo; las ediciones siguen el primero.",
63
63
  escapes: 'Las secuencias de escape admitidas son \\", \\\\, \\n y \\t.',
64
64
  multilineString: "Las cadenas no pueden ocupar varias líneas; usa \\n para un salto de línea dentro de una etiqueta.",
65
- arrows: "Las flechas admitidas son `->`, `-->`, `<->` y `<-->`.",
65
+ arrows: "Los símbolos de relación son `->`, `-->`, `--`, `---`, `<->` y `<-->`.",
66
66
  identifiers: "Los identificadores usan letras ASCII, dígitos y `_`; escribe otros textos en una etiqueta entre comillas.",
67
- minus: "Un signo menos debe ir seguido de un dígito o de `>`.",
67
+ minus: "Un signo menos debe ir seguido de un dígito, de `-` o de `>`.",
68
68
  separateStatements: "Separa las instrucciones con un salto de línea o `;`.",
69
69
  topLevel: "Las instrucciones de nivel superior son `language`, `import`, `model`, `diagram`, `story`, `export` y `theme`.",
70
70
  insideDiagram: "Los elementos y las relaciones van dentro de un bloque `diagram <id>: flow { ... }`.",
@@ -1 +1 @@
1
- {"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/messages/es.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/messages/es.ts"],"names":[],"mappings":"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"}
package/dist/tokens.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type TokenKind = "Identifier" | "String" | "Number" | "Arrow" | "DashedArrow" | "BothArrow" | "DashedBothArrow" | "LBrace" | "RBrace" | "LParen" | "RParen" | "LBracket" | "RBracket" | "Colon" | "Semicolon" | "Comma" | "Dot" | "Newline" | "Unknown" | "EOF";
1
+ export type TokenKind = "Identifier" | "String" | "Number" | "Arrow" | "DashedArrow" | "BothArrow" | "DashedBothArrow" | "Line" | "DashedLine" | "LBrace" | "RBrace" | "LParen" | "RParen" | "LBracket" | "RBracket" | "Colon" | "Semicolon" | "Comma" | "Dot" | "Newline" | "Unknown" | "EOF";
2
2
  export type TriviaKind = "Whitespace" | "LineComment" | "BlockComment" | "ByteOrderMark";
3
3
  /** Text that carries no meaning (spaces, tabs, comments, BOM). Attached to the following token. */
4
4
  export interface Trivia {
@@ -27,7 +27,10 @@ export interface Token {
27
27
  export declare function punctuationText(kind: TokenKind): string | undefined;
28
28
  /** Human description of a token for diagnostic messages, in the interface language. */
29
29
  export declare function describeToken(token: Token): string;
30
- /** The four relation arrows: `->`, `-->`, and the two-way `<->` and `<-->`. */
30
+ /**
31
+ * The six relation tokens: `->`, `-->`, the two-way `<->` and `<-->`, and the lines without heads
32
+ * `--` and `---`.
33
+ */
31
34
  export declare function isArrowKind(kind: TokenKind): boolean;
32
35
  export declare function isIdentifierText(text: string): boolean;
33
36
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,GACT,SAAS,GACT,KAAK,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;AAEzF,mGAAmG;AACnG,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAmBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAalD;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAIpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,MAAM,GACN,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,GACT,SAAS,GACT,KAAK,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;AAEzF,mGAAmG;AACnG,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAqBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAalD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CASpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
package/dist/tokens.js CHANGED
@@ -4,6 +4,8 @@ const PUNCTUATION_TEXT = {
4
4
  DashedArrow: "-->",
5
5
  BothArrow: "<->",
6
6
  DashedBothArrow: "<-->",
7
+ Line: "--",
8
+ DashedLine: "---",
7
9
  LBrace: "{",
8
10
  RBrace: "}",
9
11
  LParen: "(",
@@ -33,9 +35,17 @@ export function describeToken(token) {
33
35
  return `\`${token.text.length > 32 ? `${token.text.slice(0, 29)}...` : token.text}\``;
34
36
  }
35
37
  }
36
- /** The four relation arrows: `->`, `-->`, and the two-way `<->` and `<-->`. */
38
+ /**
39
+ * The six relation tokens: `->`, `-->`, the two-way `<->` and `<-->`, and the lines without heads
40
+ * `--` and `---`.
41
+ */
37
42
  export function isArrowKind(kind) {
38
- return (kind === "Arrow" || kind === "DashedArrow" || kind === "BothArrow" || kind === "DashedBothArrow");
43
+ return (kind === "Arrow" ||
44
+ kind === "DashedArrow" ||
45
+ kind === "BothArrow" ||
46
+ kind === "DashedBothArrow" ||
47
+ kind === "Line" ||
48
+ kind === "DashedLine");
39
49
  }
40
50
  export function isIdentifierText(text) {
41
51
  return /^[A-Za-z_][A-Za-z0-9_]*$/.test(text);
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAoD/C,MAAM,gBAAgB,GAAuC;IAC3D,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,MAAM;IACvB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;CACT,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnF,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD;YACE,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,OAAO,CACL,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,iBAAiB,CACjG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAsD/C,MAAM,gBAAgB,GAAuC;IAC3D,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,MAAM;IACvB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;CACT,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnF,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD;YACE,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAe;IACzC,OAAO,CACL,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,iBAAiB;QAC1B,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,YAAY,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meltemi/diagrams-language",
3
- "version": "1.9.0",
3
+ "version": "1.10.17",
4
4
  "description": "Lexer, lossless parser, CST and diagnostics for the .meltemi language.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "dist"
27
27
  ],
28
28
  "dependencies": {
29
- "@meltemi/diagrams-i18n": "1.9.0"
29
+ "@meltemi/diagrams-i18n": "1.10.17"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"