punctilio 5.4.8 → 5.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +12 -2
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +156 -48
  5. package/dist/cli.js.map +1 -1
  6. package/dist/constants.d.ts +2 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +3 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/dashes.d.ts.map +1 -1
  11. package/dist/dashes.js +3 -3
  12. package/dist/dashes.js.map +1 -1
  13. package/dist/html.d.ts +4 -3
  14. package/dist/html.d.ts.map +1 -1
  15. package/dist/html.js +55 -17
  16. package/dist/html.js.map +1 -1
  17. package/dist/markdown.d.ts +1 -2
  18. package/dist/markdown.d.ts.map +1 -1
  19. package/dist/markdown.js +52 -5
  20. package/dist/markdown.js.map +1 -1
  21. package/dist/nbsp.d.ts.map +1 -1
  22. package/dist/nbsp.js +26 -39
  23. package/dist/nbsp.js.map +1 -1
  24. package/dist/peer-dependencies.d.ts +21 -0
  25. package/dist/peer-dependencies.d.ts.map +1 -0
  26. package/dist/peer-dependencies.js +40 -0
  27. package/dist/peer-dependencies.js.map +1 -0
  28. package/dist/prettier-plugin.d.ts.map +1 -1
  29. package/dist/prettier-plugin.js +1 -2
  30. package/dist/prettier-plugin.js.map +1 -1
  31. package/dist/prose-view.d.ts +7 -0
  32. package/dist/prose-view.d.ts.map +1 -1
  33. package/dist/prose-view.js +11 -1
  34. package/dist/prose-view.js.map +1 -1
  35. package/dist/quote-classifier.d.ts.map +1 -1
  36. package/dist/quote-classifier.js +67 -20
  37. package/dist/quote-classifier.js.map +1 -1
  38. package/dist/symbols.d.ts.map +1 -1
  39. package/dist/symbols.js +7 -3
  40. package/dist/symbols.js.map +1 -1
  41. package/dist/transform-options.d.ts +3 -2
  42. package/dist/transform-options.d.ts.map +1 -1
  43. package/dist/transform-options.js +6 -0
  44. package/dist/transform-options.js.map +1 -1
  45. package/dist/utils.d.ts +5 -0
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +10 -0
  48. package/dist/utils.js.map +1 -1
  49. package/package.json +4 -2
  50. package/src/cli.ts +180 -48
  51. package/src/constants.ts +4 -1
  52. package/src/dashes.ts +3 -2
  53. package/src/html.ts +60 -19
  54. package/src/markdown.ts +58 -9
  55. package/src/nbsp.ts +26 -40
  56. package/src/peer-dependencies.ts +58 -0
  57. package/src/prettier-plugin.ts +1 -2
  58. package/src/prose-view.ts +12 -1
  59. package/src/quote-classifier.ts +68 -19
  60. package/src/symbols.ts +8 -4
  61. package/src/transform-options.ts +11 -2
  62. package/src/utils.ts +14 -0
package/dist/nbsp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nbsp.js","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nbsp.js","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { HtmlOptions } from "./html.js";
2
+ import type { MarkdownOptions } from "./markdown.js";
3
+ export type SinkType = "md" | "html";
4
+ /** Imports a bare package specifier; injectable so tests can simulate an uninstalled peer. */
5
+ export type PeerImporter = (packageName: string) => Promise<unknown>;
6
+ export interface SinkTransformers {
7
+ md: (input: string, options: MarkdownOptions) => Promise<string>;
8
+ html: (input: string, options: HtmlOptions) => Promise<string>;
9
+ }
10
+ /** The optional peer dependencies each sink needs at runtime. */
11
+ export declare const SINK_PEER_DEPENDENCIES: Readonly<Record<SinkType, readonly string[]>>;
12
+ /** Thrown when an optional peer dependency needed for the requested file type is not installed. */
13
+ export declare class MissingPeerDependencyError extends Error {
14
+ }
15
+ /**
16
+ * Lazily loads the transform for `type`, so only the peers for the file type
17
+ * being processed need to be installed.
18
+ * @throws MissingPeerDependencyError naming every absent peer and the install command.
19
+ */
20
+ export declare function loadSinkTransform<T extends SinkType>(type: T, importPeer?: PeerImporter): Promise<SinkTransformers[T]>;
21
+ //# sourceMappingURL=peer-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-dependencies.d.ts","sourceRoot":"","sources":["../src/peer-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAA;AAEpC,8FAA8F;AAC9F,MAAM,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAChE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/D;AAED,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CAGhF,CAAA;AAED,mGAAmG;AACnG,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAWxD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EACxD,IAAI,EAAE,CAAC,EACP,UAAU,GAAE,YAA4B,GACvC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAkB9B"}
@@ -0,0 +1,40 @@
1
+ /** The optional peer dependencies each sink needs at runtime. */
2
+ export const SINK_PEER_DEPENDENCIES = {
3
+ md: ["unified", "remark-parse", "remark-gfm", "remark-stringify"],
4
+ html: ["unified", "rehype-parse", "rehype-stringify"],
5
+ };
6
+ /** Thrown when an optional peer dependency needed for the requested file type is not installed. */
7
+ export class MissingPeerDependencyError extends Error {
8
+ }
9
+ const MODULE_NOT_FOUND_CODES = new Set(["ERR_MODULE_NOT_FOUND", "MODULE_NOT_FOUND"]);
10
+ function isMissingPackage(err, packageName) {
11
+ const { code, message } = err;
12
+ return MODULE_NOT_FOUND_CODES.has(code ?? "") && message.includes(`'${packageName}'`);
13
+ }
14
+ const importPackage = (packageName) => import(packageName);
15
+ /**
16
+ * Lazily loads the transform for `type`, so only the peers for the file type
17
+ * being processed need to be installed.
18
+ * @throws MissingPeerDependencyError naming every absent peer and the install command.
19
+ */
20
+ export async function loadSinkTransform(type, importPeer = importPackage) {
21
+ const missing = [];
22
+ for (const packageName of SINK_PEER_DEPENDENCIES[type]) {
23
+ try {
24
+ await importPeer(packageName);
25
+ }
26
+ catch (err) {
27
+ if (!isMissingPackage(err, packageName))
28
+ throw err;
29
+ missing.push(packageName);
30
+ }
31
+ }
32
+ if (missing.length > 0) {
33
+ throw new MissingPeerDependencyError(`Processing ${type === "md" ? "Markdown" : "HTML"} files requires ${missing.join(", ")}, which ` +
34
+ `${missing.length === 1 ? "is" : "are"} not installed. Install with: npm install ${missing.join(" ")}`);
35
+ }
36
+ if (type === "md")
37
+ return (await import("./markdown.js")).transformMarkdown;
38
+ return (await import("./html.js")).transformHtml;
39
+ }
40
+ //# sourceMappingURL=peer-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-dependencies.js","sourceRoot":"","sources":["../src/peer-dependencies.ts"],"names":[],"mappings":"AAaA,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAkD;IACnF,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,CAAC;IACjE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,kBAAkB,CAAC;CACtD,CAAA;AAED,mGAAmG;AACnG,MAAM,OAAO,0BAA2B,SAAQ,KAAK;CAAG;AAExD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAEpF,SAAS,gBAAgB,CAAC,GAAY,EAAE,WAAmB;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAA4B,CAAA;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,GAAG,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,aAAa,GAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAExE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAO,EACP,aAA2B,aAAa;IAExC,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,WAAW,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,WAAW,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC;gBAAE,MAAM,GAAG,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,0BAA0B,CAClC,cAAc,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;YAChG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,6CAA6C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACvG,CAAA;IACH,CAAC;IACD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAwC,CAAA;IAClG,OAAO,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,aAAoC,CAAA;AACzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prettier-plugin.d.ts","sourceRoot":"","sources":["../src/prettier-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,UAAU,CAAA;AAkC9C,QAAA,MAAM,MAAM,EAAE,MAab,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"prettier-plugin.d.ts","sourceRoot":"","sources":["../src/prettier-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,UAAU,CAAA;AAiC9C,QAAA,MAAM,MAAM,EAAE,MAab,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1,8 +1,7 @@
1
1
  import { dirname } from "node:path";
2
2
  import * as prettierMarkdown from "prettier/plugins/markdown";
3
3
  import { cosmiconfig } from "cosmiconfig";
4
- import { HTML_ONLY_OPTION_KEYS } from "./html.js";
5
- import { MARKDOWN_ONLY_OPTION_KEYS } from "./markdown.js";
4
+ import { HTML_ONLY_OPTION_KEYS, MARKDOWN_ONLY_OPTION_KEYS } from "./sink-option-keys.js";
6
5
  import { remarkPunctilio } from "./remark.js";
7
6
  import { omitKeys } from "./utils.js";
8
7
  const upstreamMarkdown = prettierMarkdown.parsers.markdown;
@@ -1 +1 @@
1
- {"version":3,"file":"prettier-plugin.js","sourceRoot":"","sources":["../src/prettier-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,KAAK,gBAAgB,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAwB,CAAA;AAC1E,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AAEzC,0EAA0E;AAC1E,4EAA4E;AAC5E,gEAAgE;AAChE,MAAM,wBAAwB,GAAsB;IAClD,GAAG,yBAAyB;IAC5B,GAAG,qBAAqB;CACzB,CAAA;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAChD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAgC,EAAE,wBAAwB,CAAC,CAAA;AACpF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAA4B,EAAE,GAAS;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAyC,CAAA;IACjF,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE;QACP,QAAQ,EAAE;YACR,GAAG,gBAAgB;YACnB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;gBACvB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACvD,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;gBACnG,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;gBAClD,MAAM,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBACnC,OAAO,GAAG,CAAA;YACZ,CAAC;SACF;KACF;CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"prettier-plugin.js","sourceRoot":"","sources":["../src/prettier-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,KAAK,gBAAgB,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAwB,CAAA;AAC1E,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AAEzC,0EAA0E;AAC1E,4EAA4E;AAC5E,gEAAgE;AAChE,MAAM,wBAAwB,GAAsB;IAClD,GAAG,yBAAyB;IAC5B,GAAG,qBAAqB;CACzB,CAAA;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAChD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAgC,EAAE,wBAAwB,CAAC,CAAA;AACpF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAA4B,EAAE,GAAS;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAyC,CAAA;IACjF,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE;QACP,QAAQ,EAAE;YACR,GAAG,gBAAgB;YACnB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;gBACvB,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACvD,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;gBACnG,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;gBAClD,MAAM,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBACnC,OAAO,GAAG,CAAA;YACZ,CAAC;SACF;KACF;CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -15,6 +15,13 @@ export interface ProseView {
15
15
  /** Apply queued edits back onto the source nodes (mutating their `value`s), then recompute `text`/`boundaries`. The view supports arbitrarily many queue/commit cycles. */
16
16
  commit(): void;
17
17
  }
18
+ /**
19
+ * The scan index one position past `index`: one code point for a unicode-mode
20
+ * (u/v) regex, else one code unit. Resuming a unicode-mode regex inside a
21
+ * surrogate pair makes `exec` back up to the pair's start and re-match there
22
+ * forever.
23
+ */
24
+ export declare function advanceScanIndex(text: string, index: number, regex: RegExp): number;
18
25
  export declare function buildProseView(nodes: ProseNode[]): ProseView;
19
26
  /**
20
27
  * Partitions `items` into contiguous groups, breaking before every index in
@@ -1 +1 @@
1
- {"version":3,"file":"prose-view.d.ts","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prose-view.d.ts","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,16 @@ function splitsSurrogatePair(text, offset) {
6
6
  const low = text.charCodeAt(offset);
7
7
  return high >= 0xd800 && high <= 0xdbff && low >= 0xdc00 && low <= 0xdfff;
8
8
  }
9
+ /**
10
+ * The scan index one position past `index`: one code point for a unicode-mode
11
+ * (u/v) regex, else one code unit. Resuming a unicode-mode regex inside a
12
+ * surrogate pair makes `exec` back up to the pair's start and re-match there
13
+ * forever.
14
+ */
15
+ export function advanceScanIndex(text, index, regex) {
16
+ const unicodeMode = regex.unicode || regex.flags.includes("v");
17
+ return index + (unicodeMode && splitsSurrogatePair(text, index + 1) ? 2 : 1);
18
+ }
9
19
  class ProseViewImpl {
10
20
  nodes;
11
21
  cachedText;
@@ -272,7 +282,7 @@ export function replaceAllInView(view, regex, replacer, options) {
272
282
  let match;
273
283
  while ((match = regex.exec(text)) !== null) {
274
284
  if (match[0].length === 0) {
275
- regex.lastIndex += 1;
285
+ regex.lastIndex = advanceScanIndex(text, regex.lastIndex, regex);
276
286
  }
277
287
  if (matchContainsBoundary(match, view) && !allowBoundaries?.(match, view)) {
278
288
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"prose-view.js","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prose-view.js","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quote-classifier.d.ts","sourceRoot":"","sources":["../src/quote-classifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAwChD,eAAO,MAAM,kBAAkB,8DAA+D,CAAA;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAElE,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,GACd,SAAS,GACT,aAAa,GACb,aAAa,GACb,OAAO,CAAA;AA44CX;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,GACjB,IAAI,CAeN;AA6GD,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAWvD"}
1
+ {"version":3,"file":"quote-classifier.d.ts","sourceRoot":"","sources":["../src/quote-classifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA0ChD,eAAO,MAAM,kBAAkB,8DAA+D,CAAA;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAElE,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,GACd,SAAS,GACT,aAAa,GACb,aAAa,GACb,OAAO,CAAA;AA07CX;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,GACjB,IAAI,CAgBN;AA6GD,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAWvD"}
@@ -1,5 +1,5 @@
1
- import { FOLDED_WORD_CHARS, LATIN_LETTER_RE, SPACE_CHAR_RE, TERMINAL_PUNCTUATION, UNICODE_SYMBOLS, WORD_RE } from "./constants.js";
2
- const { EM_DASH, EN_DASH, MINUS, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, MODIFIER_LETTER_APOSTROPHE, DOUBLE_LOW_9_QUOTE, SINGLE_LOW_9_QUOTE, LEFT_GUILLEMET, RIGHT_GUILLEMET, NBSP, NNBSP, PRIME, DOUBLE_PRIME, ELLIPSIS, DOUBLE_QUESTION, QUESTION_EXCLAMATION, EXCLAMATION_QUESTION, DOUBLE_EXCLAMATION, INTERROBANG, APPROXIMATE, GREATER_EQUAL, LESS_EQUAL, NOT_EQUAL, PLUS_MINUS, } = UNICODE_SYMBOLS;
1
+ import { CLOSING_BRACKETS, FOLDED_WORD_CHARS, LATIN_LETTER_RE, OPENING_BRACKETS, SPACE_CHAR_RE, TERMINAL_PUNCTUATION, UNICODE_SYMBOLS, WORD_RE } from "./constants.js";
2
+ const { EM_DASH, EN_DASH, MINUS, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, MODIFIER_LETTER_APOSTROPHE, DOUBLE_LOW_9_QUOTE, SINGLE_LOW_9_QUOTE, LEFT_GUILLEMET, RIGHT_GUILLEMET, INVERTED_EXCLAMATION, INVERTED_QUESTION, NBSP, NNBSP, PRIME, DOUBLE_PRIME, ELLIPSIS, DOUBLE_QUESTION, QUESTION_EXCLAMATION, EXCLAMATION_QUESTION, DOUBLE_EXCLAMATION, INTERROBANG, APPROXIMATE, GREATER_EQUAL, LESS_EQUAL, NOT_EQUAL, PLUS_MINUS, } = UNICODE_SYMBOLS;
3
3
  /**
4
4
  * Glyphs the symbol passes fold `?`/`!` runs and `...` into. The quote rules
5
5
  * run before those passes, so every ending-context set that contains the
@@ -44,9 +44,10 @@ const SINGLE_ENDING_SET = new Set([".", "!", "?", ";", ":", ",", ")", EM_DASH, "
44
44
  * straight double quote belongs with the curly pair: whichever way it curls
45
45
  * lands in this set, so deciding as if it already had keeps re-runs (which
46
46
  * see the curled glyph) consistent. */
47
- const SINGLE_OPEN_BEFORE_SET = new Set([LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, '"', EM_DASH, "-", "("]);
48
- /** Boundary chars before an opening double quote (plus any \s char). */
49
- const DOUBLE_OPEN_BEFORE_SET = new Set(["(", "/", "[", "{", "-", EM_DASH]);
47
+ const SINGLE_OPEN_BEFORE_SET = new Set([LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, '"', EM_DASH, "-", "(", "/", "[", "{", INVERTED_QUESTION, INVERTED_EXCLAMATION]);
48
+ /** Boundary chars before an opening double quote (plus any \s char). A
49
+ * single opener qualifies: a double quoted directly inside a single. */
50
+ const DOUBLE_OPEN_BEFORE_SET = new Set(["(", "/", "[", "{", "-", EM_DASH, LEFT_SINGLE_QUOTE, INVERTED_QUESTION, INVERTED_EXCLAMATION]);
50
51
  /** Ending-context chars that block the opener rule's arm 2 (plus any \s char).
51
52
  * ELLIPSIS is deliberately absent: the rule's `...` arm opens, so `…` must too. */
52
53
  const DOUBLE_OPEN_ENDING_SET = new Set([")", EM_DASH, ",", "!", "?", ";", ":", ".", "}", ...FOLDED_TERMINALS]);
@@ -57,9 +58,9 @@ const DOUBLE_EMPTY_BEFORE_SET = new Set(["(", "[", "{"]);
57
58
  * rule rejects falls through to opener/closer rules whose after-contexts are
58
59
  * the closer set, and the two routes must accept the same shapes or a re-run
59
60
  * (which sees the rendered opener, not the whitespace) classifies anew. */
60
- const DOUBLE_EMPTY_AFTER_SET = new Set([")", "]", "}", ".", "!", "?", ",", ";", ":", "/", "-", "s", EM_DASH, ELLIPSIS, ...FOLDED_TERMINALS]);
61
+ const DOUBLE_EMPTY_AFTER_SET = new Set([")", "]", "}", ".", "!", "?", ",", ";", ":", "/", "-", "s", EM_DASH, ELLIPSIS, RIGHT_SINGLE_QUOTE, ...FOLDED_TERMINALS]);
61
62
  /** Ending-context chars after a closing double quote (plus any \s char). */
62
- const DOUBLE_CLOSE_AFTER_SET = new Set(["/", ")", "]", ".", ",", ";", EM_DASH, ":", "-", "}", "!", "?", "s", ELLIPSIS, ...FOLDED_TERMINALS]);
63
+ const DOUBLE_CLOSE_AFTER_SET = new Set(["/", ")", "]", ".", ",", ";", EM_DASH, ":", "-", "}", "!", "?", "s", ELLIPSIS, RIGHT_SINGLE_QUOTE, ...FOLDED_TERMINALS]);
63
64
  /** Builds an `(items, index)` predicate: in range, non-boundary, and `test(ch)`. */
64
65
  function makeItemTester(test) {
65
66
  return (items, index) => {
@@ -197,7 +198,10 @@ function buildItems(view, style) {
197
198
  mapped = DIGIT_RE.test(text[i - 1] ?? "") ? MODIFIER_LETTER_APOSTROPHE : "'";
198
199
  }
199
200
  if (mapped !== null) {
200
- items.push(makeItem(false, mapped, i, i + 1));
201
+ const item = makeItem(false, mapped, i, i + 1);
202
+ if (mapped === '"' || mapped === "'")
203
+ item.curlySource = ch;
204
+ items.push(item);
201
205
  i++;
202
206
  continue;
203
207
  }
@@ -241,10 +245,12 @@ function possessiveAfter(items, index) {
241
245
  /**
242
246
  * `(?<=[^\s“'"])` — the closing/possessive lookbehind. A boundary directly
243
247
  * before the quote satisfies it (a boundary is an ordinary non-space char).
244
- * A straight double quote is excluded along with `“`: it may curl into an
245
- * opener later in this same pass, which puts the candidate in exactly the
246
- * nested-opener position the `“` exclusion covers, and deciding against it
247
- * now keeps re-runs (which see the curled glyph) consistent.
248
+ * A straight double quote in opener position is excluded along with `“`: it
249
+ * curls into an opener later in this same pass, which puts the candidate in
250
+ * exactly the nested-opener position the `“` exclusion covers, and deciding
251
+ * against it now keeps re-runs (which see the curled glyph) consistent. A
252
+ * straight double quote outside opener position curls into a closer (`”`,
253
+ * which passes), so it passes too (`'"Hello"'`).
248
254
  */
249
255
  function singleCloserBefore(items, index) {
250
256
  if (index === 0)
@@ -252,7 +258,9 @@ function singleCloserBefore(items, index) {
252
258
  const prev = items[index - 1];
253
259
  if (prev.boundary)
254
260
  return true;
255
- return !SPACE_RE.test(prev.ch) && prev.ch !== LEFT_DOUBLE_QUOTE && prev.ch !== "'" && prev.ch !== '"';
261
+ if (prev.ch === '"')
262
+ return !doubleOpenerPrefixOk(items, index - 1);
263
+ return !SPACE_RE.test(prev.ch) && prev.ch !== LEFT_DOUBLE_QUOTE && prev.ch !== "'";
256
264
  }
257
265
  /** Letter directly before (no boundary) and letter after (one boundary transparent). */
258
266
  function isContractionContext(items, index) {
@@ -501,7 +509,7 @@ function classifySingles(items, style) {
501
509
  // Double-quote classification
502
510
  // ---------------------------------------------------------------------------
503
511
  /** Empty (`""`) and whitespace-only (`" "`) double-quote pairs (no boundaries allowed anywhere in or around the match). */
504
- function classifyEmptyDoublePairs(items) {
512
+ function classifyEmptyDoublePairs(items, style) {
505
513
  const beforeOk = (index) => {
506
514
  if (index < 0)
507
515
  return true;
@@ -512,7 +520,7 @@ function classifyEmptyDoublePairs(items) {
512
520
  if (index >= items.length)
513
521
  return true;
514
522
  const item = items[index];
515
- return !item.boundary && (SPACE_RE.test(item.ch) || DOUBLE_EMPTY_AFTER_SET.has(item.ch));
523
+ return !item.boundary && (SPACE_RE.test(item.ch) || DOUBLE_EMPTY_AFTER_SET.has(item.ch) || apostropheEndsDouble(item.ch, style));
516
524
  };
517
525
  for (let i = 0; i < items.length - 1; i++) {
518
526
  if (!isCharItem(items, i, '"') || !isCharItem(items, i + 1, '"'))
@@ -768,6 +776,15 @@ function classifyBraceOpeners(items) {
768
776
  function isDoubleCloseAfterChar(ch) {
769
777
  return SPACE_RE.test(ch) || DOUBLE_CLOSE_AFTER_SET.has(ch);
770
778
  }
779
+ /**
780
+ * An apostrophe directly after a double quote ends it, as the closing single
781
+ * quote it renders as does. German is the exception: it re-derives the
782
+ * rendered apostrophe (U+2019) by position, so a re-run can read it as a
783
+ * closing single quote that the first pass, which saw an apostrophe, did not.
784
+ */
785
+ function apostropheEndsDouble(ch, style) {
786
+ return ch === MODIFIER_LETTER_APOSTROPHE && style !== "german";
787
+ }
771
788
  /**
772
789
  * Closing double quote by ending context: a non-space/non-paren character (or
773
790
  * a boundary) before it, and an ending character, a boundary, or end of input
@@ -793,7 +810,7 @@ function classifyClosingDoubles(items, style) {
793
810
  const next = items[i + 1];
794
811
  if (foldsToNotEqual(items, i + 1))
795
812
  continue;
796
- if (next === undefined || next.boundary || isDoubleCloseAfterChar(next.ch)) {
813
+ if (next === undefined || next.boundary || isDoubleCloseAfterChar(next.ch) || apostropheEndsDouble(next.ch, style)) {
797
814
  item.ch = RIGHT_DOUBLE_QUOTE;
798
815
  }
799
816
  }
@@ -820,8 +837,34 @@ function classifySinglesBeforeClosingDoubles(items) {
820
837
  }
821
838
  }
822
839
  }
840
+ /**
841
+ * German reads its rendered glyphs by depth: a U+201C below an open „ closes
842
+ * it. A curly orphan that kept its source glyph (see {@link Item.curlySource})
843
+ * below a quote opened in this same pass is therefore that quote's closer on
844
+ * the next run; label it one now so both runs agree. Singles need no
845
+ * counterpart: a single opener is only recognized when a closer follows it
846
+ * with no straight single in between, and an orphan U+2018 is one.
847
+ */
848
+ function closeCurlyOrphansBelowOpeners(items) {
849
+ let depth = 0;
850
+ for (const item of items) {
851
+ if (item.boundary)
852
+ continue;
853
+ if (item.ch === LEFT_DOUBLE_QUOTE) {
854
+ depth++;
855
+ }
856
+ else if (item.ch === RIGHT_DOUBLE_QUOTE) {
857
+ if (depth > 0)
858
+ depth--;
859
+ }
860
+ else if (item.ch === '"' && item.curlySource === LEFT_DOUBLE_QUOTE && depth > 0) {
861
+ item.ch = RIGHT_DOUBLE_QUOTE;
862
+ depth--;
863
+ }
864
+ }
865
+ }
823
866
  function classifyDoubles(items, style) {
824
- classifyEmptyDoublePairs(items);
867
+ classifyEmptyDoublePairs(items, style);
825
868
  classifyOpeningDoubles(items, style);
826
869
  classifyQuotedPunctuationOpeners(items);
827
870
  classifyBraceOpeners(items);
@@ -910,10 +953,10 @@ function applyRelocations(order, moves) {
910
953
  }
911
954
  return result;
912
955
  }
913
- const OPEN_BRACKETS = new Set(["(", "[", "{"]);
914
- const CLOSE_BRACKETS = new Set([")", "]", "}"]);
956
+ const OPEN_BRACKETS = new Set(OPENING_BRACKETS);
957
+ const CLOSE_BRACKETS = new Set(CLOSING_BRACKETS);
915
958
  /**
916
- * Unmatched open brackets (`(`, `[`, `{`) strictly before each item — a
959
+ * Unmatched open brackets (see {@link OPENING_BRACKETS}) strictly before each item — a
917
960
  * position is inside a bracket pair when its entry is > 0. Brackets never move
918
961
  * during placement, so the depths hold across the fixpoint's rounds. Boundary
919
962
  * items are transparent; a closer with no opener above it floors the depth at 0.
@@ -1388,6 +1431,8 @@ function queueRenderEdits(view, items, table) {
1388
1431
  }
1389
1432
  continue;
1390
1433
  }
1434
+ if (role === undefined && item.curlySource !== undefined)
1435
+ continue;
1391
1436
  // Fast path for ordinary characters; pre-labeled items may have changed
1392
1437
  // `ch` without gaining a role (German orphan closers) and must still diff.
1393
1438
  if (role === undefined && item.ch === text[item.start] && item.end - item.start === 1)
@@ -1413,6 +1458,8 @@ export function classifyAndRenderQuotes(view, style, apostrophe) {
1413
1458
  const items = buildItems(view, style);
1414
1459
  classifySingles(items, style);
1415
1460
  classifyDoubles(items, style);
1461
+ if (style === "german")
1462
+ closeCurlyOrphansBelowOpeners(items);
1416
1463
  const placed = applyPunctuationPlacement(items, style, apostrophe);
1417
1464
  // Placement can slide a closer past punctuation until it sits directly after
1418
1465
  // an s/S (british/french move the closer left, out of "dogs.'" → "dogs'."),