punctilio 5.4.9 → 5.5.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.
Files changed (46) hide show
  1. package/README.md +6 -6
  2. package/dist/constants.d.ts +2 -0
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +3 -1
  5. package/dist/constants.js.map +1 -1
  6. package/dist/dashes.d.ts.map +1 -1
  7. package/dist/dashes.js +3 -3
  8. package/dist/dashes.js.map +1 -1
  9. package/dist/nbsp.d.ts.map +1 -1
  10. package/dist/nbsp.js +26 -39
  11. package/dist/nbsp.js.map +1 -1
  12. package/dist/prettier-plugin.d.ts.map +1 -1
  13. package/dist/prettier-plugin.js +3 -2
  14. package/dist/prettier-plugin.js.map +1 -1
  15. package/dist/prose-view.d.ts +26 -0
  16. package/dist/prose-view.d.ts.map +1 -1
  17. package/dist/prose-view.js +87 -1
  18. package/dist/prose-view.js.map +1 -1
  19. package/dist/quote-classifier.d.ts.map +1 -1
  20. package/dist/quote-classifier.js +67 -20
  21. package/dist/quote-classifier.js.map +1 -1
  22. package/dist/rehype.d.ts +14 -8
  23. package/dist/rehype.d.ts.map +1 -1
  24. package/dist/rehype.js +36 -23
  25. package/dist/rehype.js.map +1 -1
  26. package/dist/remark.d.ts.map +1 -1
  27. package/dist/remark.js +71 -11
  28. package/dist/remark.js.map +1 -1
  29. package/dist/symbols.d.ts.map +1 -1
  30. package/dist/symbols.js +7 -3
  31. package/dist/symbols.js.map +1 -1
  32. package/dist/transform-options.d.ts +3 -2
  33. package/dist/transform-options.d.ts.map +1 -1
  34. package/dist/transform-options.js +6 -0
  35. package/dist/transform-options.js.map +1 -1
  36. package/package.json +3 -2
  37. package/src/constants.ts +4 -1
  38. package/src/dashes.ts +3 -2
  39. package/src/nbsp.ts +26 -40
  40. package/src/prettier-plugin.ts +3 -2
  41. package/src/prose-view.ts +99 -1
  42. package/src/quote-classifier.ts +68 -19
  43. package/src/rehype.ts +64 -36
  44. package/src/remark.ts +85 -12
  45. package/src/symbols.ts +8 -4
  46. package/src/transform-options.ts +11 -2
package/dist/remark.js CHANGED
@@ -1,23 +1,82 @@
1
+ import { Tokenizer } from "parse5";
1
2
  import { visitParents } from "unist-util-visit-parents";
2
3
  import { transformView } from "./index.js";
3
4
  import { TRANSFORM_OPTION_KEYS } from "./transform-options.js";
4
5
  import { MAX_RECURSION_DEPTH } from "./constants.js";
5
- import { buildProseView, splitAtIndices } from "./prose-view.js";
6
+ import { runAcrossOpaqueGaps } from "./prose-view.js";
7
+ import { DEFAULT_SKIP_TAGS, RAW_TEXT_FORM_TAG } from "./rehype.js";
6
8
  import { assertKnownOptionKeys } from "./utils.js";
7
9
  const PHRASING_CONTAINERS = new Set(["paragraph", "heading", "tableCell"]);
8
10
  const SKIP_TYPES = new Set(["inlineCode", "html"]);
11
+ const SKIPPED_HTML_TAGS = new Set([...DEFAULT_SKIP_TAGS, RAW_TEXT_FORM_TAG]);
9
12
  // Leaf phrasing nodes that render atomic content and carry no transformable
10
13
  // text. Between two text nodes, one is a real visual separator, so the
11
14
  // flattener records an opaque gap there (mirroring skipped `inlineCode`/`html`).
12
15
  const OPAQUE_LEAF_TYPES = new Set([
13
16
  "image", "imageReference", "break", "footnoteReference", "inlineMath",
14
17
  ]);
18
+ const URL_SCHEMES = ["mailto:", "https://", "http://"];
19
+ /** `url` without a leading `mailto:`, `https://` or `http://`, in any letter case. */
20
+ function stripUrlScheme(url) {
21
+ const lowerCaseUrl = url.toLowerCase();
22
+ const scheme = URL_SCHEMES.find((candidate) => lowerCaseUrl.startsWith(candidate));
23
+ return scheme === undefined ? url : url.slice(scheme.length);
24
+ }
25
+ /** The Markdown source that produced `node`, or "" when it carries no usable position. */
26
+ function sourceOfLink(node, source) {
27
+ const start = node.position?.start.offset;
28
+ const end = node.position?.end.offset;
29
+ return start === undefined || end === undefined ? "" : source.slice(start, end);
30
+ }
31
+ /**
32
+ * True for an autolink or bare URL, whose visible text is the URL itself. A
33
+ * link not written as `[text](url)` (an `<…>` autolink or a GFM literal) is one
34
+ * by construction; a bracketed link is one when its text is its URL, with or
35
+ * without the scheme.
36
+ */
37
+ function isUrlTextLink(node, source) {
38
+ const linkSource = sourceOfLink(node, source);
39
+ if (linkSource !== "" && !linkSource.startsWith("["))
40
+ return true;
41
+ if (node.children.length !== 1 || node.children[0].type !== "text")
42
+ return false;
43
+ return stripUrlScheme(node.children[0].value) === stripUrlScheme(node.url);
44
+ }
45
+ const ignoreToken = () => { };
46
+ /** Tracks raw-HTML skip-list tags so the text between an open and close tag is skipped. */
47
+ function trackSkippedHtmlTags(html, c) {
48
+ const openTag = (token) => {
49
+ if (!token.selfClosing && SKIPPED_HTML_TAGS.has(token.tagName))
50
+ c.openSkippedTags.push(token.tagName);
51
+ };
52
+ const closeTag = (token) => {
53
+ const openIndex = c.openSkippedTags.lastIndexOf(token.tagName);
54
+ if (openIndex !== -1)
55
+ c.openSkippedTags.length = openIndex;
56
+ };
57
+ const tokenizer = new Tokenizer({ sourceCodeLocationInfo: false }, {
58
+ onComment: ignoreToken,
59
+ onDoctype: ignoreToken,
60
+ onStartTag: openTag,
61
+ onEndTag: closeTag,
62
+ onEof: ignoreToken,
63
+ onCharacter: ignoreToken,
64
+ onNullCharacter: ignoreToken,
65
+ onWhitespaceCharacter: ignoreToken,
66
+ });
67
+ tokenizer.write(html, true);
68
+ }
15
69
  function collectProse(node, depth, c) {
16
70
  /* istanbul ignore if -- defensive: prevents stack overflow from malicious nesting */
17
71
  if (depth > MAX_RECURSION_DEPTH) {
18
72
  return;
19
73
  }
20
- if (SKIP_TYPES.has(node.type) || OPAQUE_LEAF_TYPES.has(node.type)) {
74
+ if (node.type === "html")
75
+ trackSkippedHtmlTags(node.value, c);
76
+ if (SKIP_TYPES.has(node.type) ||
77
+ OPAQUE_LEAF_TYPES.has(node.type) ||
78
+ c.openSkippedTags.length > 0 ||
79
+ (node.type === "link" && isUrlTextLink(node, c.source))) {
21
80
  c.pendingOpaque = true;
22
81
  return;
23
82
  }
@@ -33,8 +92,8 @@ function collectProse(node, depth, c) {
33
92
  collectProse(child, depth + 1, c);
34
93
  }
35
94
  }
36
- function flattenProse(children) {
37
- const c = { nodes: [], opaqueBefore: new Set(), pendingOpaque: false };
95
+ function flattenProse(children, source) {
96
+ const c = { nodes: [], opaqueBefore: new Set(), pendingOpaque: false, openSkippedTags: [], source };
38
97
  for (const child of children)
39
98
  collectProse(child, 0, c);
40
99
  return { nodes: c.nodes, opaqueBefore: c.opaqueBefore };
@@ -48,7 +107,10 @@ export function remarkPunctilio(options = {}) {
48
107
  ...options,
49
108
  nbsp: options.nbsp ?? false,
50
109
  };
51
- return (tree) => {
110
+ // `file` is absent when the transformer is called with a bare tree (the
111
+ // Prettier plugin); links are then judged by their text alone.
112
+ return (tree, file) => {
113
+ const source = file?.toString() ?? "";
52
114
  visitParents(tree, (node, ancestors) => {
53
115
  if (!PHRASING_CONTAINERS.has(node.type)) {
54
116
  return;
@@ -61,12 +123,10 @@ export function remarkPunctilio(options = {}) {
61
123
  if (!("children" in node)) {
62
124
  return;
63
125
  }
64
- const { nodes, opaqueBefore } = flattenProse(node.children);
65
- // Split at opaque gaps (inline code, images, breaks) so no pass rewrites
66
- // text as adjacent across content that visually separates it.
67
- for (const group of splitAtIndices(nodes, opaqueBefore)) {
68
- transformView(buildProseView(group), pluginOptions);
69
- }
126
+ const { nodes, opaqueBefore } = flattenProse(node.children, source);
127
+ // Opaque gaps (inline code, images, breaks) become placeholders, so
128
+ // quotes pair across them while no pass rewrites text through them.
129
+ runAcrossOpaqueGaps(nodes, opaqueBefore, (view) => transformView(view, pluginOptions));
70
130
  });
71
131
  };
72
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remark.js","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remark.js","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AACA,OAAO,EAAqH,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAGrL,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAiCD,uCAAuC;AACvC,eAAO,MAAM,QAAQ,qCAAkC,CAAA;AA4DvD,gDAAgD;AAChD,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAmVnE,0DAA0D;AAC1D,eAAO,MAAM,WAAW,qCAAqC,CAAA;AAoI7D,yCAAyC;AACzC,eAAO,MAAM,YAAY,qCAAsC,CAAA;AAqG/D,oCAAoC;AACpC,eAAO,MAAM,MAAM,qCAAgC,CAAA;AAqCnD,eAAO,MAAM,OAAO,qCAAiC,CAAA;AAmErD,sEAAsE;AACtE,eAAO,MAAM,UAAU,qCAAmC,CAAA;AAwB1D,0EAA0E;AAC1E,eAAO,MAAM,SAAS,qCAAmC,CAAA;AA0EzD,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,qCAA4C,CAAA;AAoB3E,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAyCnE,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,qCAA8C,CAAA;AA6B/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AACA,OAAO,EAAqH,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAGrL,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAiCD,uCAAuC;AACvC,eAAO,MAAM,QAAQ,qCAAkC,CAAA;AA4DvD,gDAAgD;AAChD,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAuVnE,0DAA0D;AAC1D,eAAO,MAAM,WAAW,qCAAqC,CAAA;AAoI7D,yCAAyC;AACzC,eAAO,MAAM,YAAY,qCAAsC,CAAA;AAqG/D,oCAAoC;AACpC,eAAO,MAAM,MAAM,qCAAgC,CAAA;AAqCnD,eAAO,MAAM,OAAO,qCAAiC,CAAA;AAmErD,sEAAsE;AACtE,eAAO,MAAM,UAAU,qCAAmC,CAAA;AAwB1D,0EAA0E;AAC1E,eAAO,MAAM,SAAS,qCAAmC,CAAA;AA0EzD,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,qCAA4C,CAAA;AAoB3E,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAyCnE,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,qCAA8C,CAAA;AA6B/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA"}
package/dist/symbols.js CHANGED
@@ -116,8 +116,12 @@ const DIGIT_SUFFIX = `(?:${PRIME_ALT}|${UNIT_ALT})?`;
116
116
  // (1e5x3 — the `e` is a letter) and model SKUs (Surface5x3, RTX3060x2);
117
117
  // signed exponents (1e-5x3, 3.5E+10x2) are unambiguously scientific, their
118
118
  // operand is preceded by a sign, and they convert.
119
- const MULTIPLICATION_CHAIN = `(?<firstNum>\\d+${DIGIT_SUFFIX})(?<rest>(?:\\s*[xX*]\\s*\\d+${DIGIT_SUFFIX})+)`;
120
- const MULTIPLICATION_SEGMENT = `(?<spaceBefore>\\s*)[xX*](?<spaceAfter>\\s*)(?<num>\\d+${DIGIT_SUFFIX})`;
119
+ //
120
+ // Operator spacing is horizontal whitespace only: an operator across a line
121
+ // break is a list marker (`Step 1\n* 2 cups`), not multiplication.
122
+ const OPERATOR_SPACE = "[^\\S\\n\\v\\f\\r\\u2028\\u2029]*";
123
+ const MULTIPLICATION_CHAIN = `(?<firstNum>\\d+${DIGIT_SUFFIX})(?<rest>(?:${OPERATOR_SPACE}[xX*]${OPERATOR_SPACE}\\d+${DIGIT_SUFFIX})+)`;
124
+ const MULTIPLICATION_SEGMENT = `(?<spaceBefore>${OPERATOR_SPACE})[xX*](?<spaceAfter>${OPERATOR_SPACE})(?<num>\\d+${DIGIT_SUFFIX})`;
121
125
  /** Locate each operator segment of `rest` (absolute offsets via `chainStart`). */
122
126
  function chainSegments(chainStart, firstNum, rest) {
123
127
  const segments = [];
@@ -138,7 +142,7 @@ function chainSegments(chainStart, firstNum, rest) {
138
142
  return segments;
139
143
  }
140
144
  /**
141
- * Each operator's spacing slot (`\s*[xX*]\s*`) tolerates one node boundary at
145
+ * Each operator's spacing slot (`OPERATOR_SPACE [xX*] OPERATOR_SPACE`) tolerates one node boundary at
142
146
  * each outer edge and none inside the spacing; a second adjacent boundary at an
143
147
  * edge breaks the segment. The operator's slot is the span [slotStart, slotEnd)
144
148
  * covering its surrounding spaces and the operator itself.
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,9 @@ export interface TransformOptions {
31
31
  * (U+201E/U+201C double, U+201A/U+2018 single). Punctuation outside quotes.
32
32
  * - `"french"`: French style. Uses guillemets with NNBSP padding: «\u202F...\u202F»
33
33
  * Single quotes remain as curly quotes. Punctuation outside quotes.
34
- * - `"none"`: Skip all quote and punctuation transforms entirely.
35
- * Straight quotes, apostrophes, and prime marks are left unmodified.
34
+ * - `"none"`: Skip quote classification and prime conversion. Straight
35
+ * quotes, apostrophes, and prime marks are left unmodified; a U+02BC
36
+ * modifier-letter apostrophe is still normalized to U+2019.
36
37
  *
37
38
  * Default: "american"
38
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transform-options.d.ts","sourceRoot":"","sources":["../src/transform-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGvE,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAEnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAeD;gEACgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA6B,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAEjE,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAwB3F"}
1
+ {"version":3,"file":"transform-options.d.ts","sourceRoot":"","sources":["../src/transform-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGvE,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAEnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAeD;gEACgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAA6B,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAEjE,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAgC3F"}
@@ -18,6 +18,12 @@ const defaultOpts = {
18
18
  export const TRANSFORM_OPTION_KEYS = Object.keys(defaultOpts);
19
19
  /** Validates `options` and fills in the defaults. */
20
20
  export function resolveTransformOptions(options) {
21
+ // JS callers outside the type system can pass null, a string, or an array;
22
+ // `Object.keys` would otherwise throw an opaque TypeError or enumerate a
23
+ // string's indices as unknown option names.
24
+ if (options === null || typeof options !== "object" || Array.isArray(options)) {
25
+ throw new TypeError(`transform options must be an object, got ${options === null ? "null" : Array.isArray(options) ? "an array" : typeof options}.`);
26
+ }
21
27
  assertKnownOptionKeys(options, TRANSFORM_OPTION_KEYS, "transform");
22
28
  const punctuationStyle = options.punctuationStyle ?? "american";
23
29
  if (!PUNCTUATION_STYLES.includes(punctuationStyle)) {
@@ -1 +1 @@
1
- {"version":3,"file":"transform-options.js","sourceRoot":"","sources":["../src/transform-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoGnE,MAAM,WAAW,GAA+B;IAC9C,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,UAAU;CACtB,CAAA;AAED;gEACgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAIhF,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC/D,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAA;IAElE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAA;IAC/D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAqD,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CACb,8BAA8B,gBAAgB,KAAK;YACnD,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpD,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAA;IACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAuC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,KAAK;YACrC,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7C,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,+EAA+E;IAC/E,mEAAmE;IACnE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAA;AACrF,CAAC"}
1
+ {"version":3,"file":"transform-options.js","sourceRoot":"","sources":["../src/transform-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqGnE,MAAM,WAAW,GAA+B;IAC9C,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,UAAU;CACtB,CAAA;AAED;gEACgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAIhF,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC/D,2EAA2E;IAC3E,yEAAyE;IACzE,4CAA4C;IAC5C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,SAAS,CACjB,4CAA4C,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,OAAO,GAAG,CAChI,CAAA;IACH,CAAC;IACD,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAA;IAElE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAA;IAC/D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAqD,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CACb,8BAA8B,gBAAgB,KAAK;YACnD,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpD,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAA;IACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAuC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,KAAK;YACrC,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7C,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,+EAA+E;IAC/E,mEAAmE;IACnE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAA;AACrF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "punctilio",
3
- "version": "5.4.9",
3
+ "version": "5.5.0",
4
4
  "description": "Smart typography transformations: curly quotes, em-dashes, en-dashes, and more",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -105,6 +105,7 @@
105
105
  "retext": "9.0.0",
106
106
  "retext-smartypants": "6.2.0",
107
107
  "seedrandom": "3.0.5",
108
+ "semver": "7.8.2",
108
109
  "smartquotes": "2.3.2",
109
110
  "smartypants": "0.2.2",
110
111
  "tipograph": "0.7.4",
@@ -161,7 +162,7 @@
161
162
  "scripts": {
162
163
  "build": "tsc",
163
164
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
164
- "test:scripts": "node --test scripts/*.test.mjs",
165
+ "test:scripts": "node --test scripts/*.test.mjs .github/scripts/*.test.mjs",
165
166
  "lint": "eslint src scripts",
166
167
  "typecheck:scripts": "tsc --noEmit -p tsconfig.scripts.json",
167
168
  "benchmark": "pnpm run build && node benchmark.mjs",
package/src/constants.ts CHANGED
@@ -130,6 +130,9 @@ const BRACKET_PAIRS: readonly (readonly [string, string])[] = [
130
130
  [UNICODE_SYMBOLS.LEFT_LENTICULAR_BRACKET, UNICODE_SYMBOLS.RIGHT_LENTICULAR_BRACKET],
131
131
  ]
132
132
 
133
+ /** Opening brackets, the counterparts of {@link CLOSING_BRACKETS}. */
134
+ export const OPENING_BRACKETS: readonly string[] = BRACKET_PAIRS.map(([opening]) => opening)
135
+
133
136
  /**
134
137
  * Punctuation that opens a construct and so binds rightward, to the text after
135
138
  * it rather than the text before: brackets, the Spanish inverted marks, and the
@@ -142,7 +145,7 @@ const BRACKET_PAIRS: readonly (readonly [string, string])[] = [
142
145
  * settle, so a consumer that wants to treat one as an opener owns that call.
143
146
  */
144
147
  export const OPENING_PUNCTUATION: readonly string[] = [
145
- ...BRACKET_PAIRS.map(([opening]) => opening),
148
+ ...OPENING_BRACKETS,
146
149
  UNICODE_SYMBOLS.INVERTED_EXCLAMATION,
147
150
  UNICODE_SYMBOLS.INVERTED_QUESTION,
148
151
  UNICODE_SYMBOLS.LEFT_DOUBLE_QUOTE,
package/src/dashes.ts CHANGED
@@ -12,6 +12,7 @@ export interface DashOptions {
12
12
  const {
13
13
  EN_DASH, EM_DASH, MINUS, MULTIPLICATION, PLUS_MINUS,
14
14
  LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE,
15
+ MODIFIER_LETTER_APOSTROPHE, LEFT_GUILLEMET,
15
16
  } = UNICODE_SYMBOLS
16
17
 
17
18
  // Prevents false-positive ranges in model names like "Llama-2-7B".
@@ -781,7 +782,7 @@ function minusSubtractionPrefixOk(match: RegExpExecArray, view: ProseView, prefi
781
782
  return NUM_BODY_RE.test(view.text.slice(numStart, truncatedEnd))
782
783
  }
783
784
 
784
- const MINUS_BEFORE_CLASS_RE = new RegExp(`[\\s("'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}]`)
785
+ const MINUS_BEFORE_CLASS_RE = new RegExp(`[\\s("'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}${LEFT_GUILLEMET}]`)
785
786
  // The folded word glyphs block like the word chars they fold from ("1x|-0"
786
787
  // and "1×|-0" must agree), the folded math operators block like the operator
787
788
  // chars they fold from (the `!=` → `≠` fold consumes the `=` that blocked
@@ -860,7 +861,7 @@ function convertParentheticalDashes(view: ProseView, style: DashStyle): void {
860
861
  if (style === "british") convertUnspacedEmDashes(view, rendered)
861
862
  }
862
863
 
863
- const QUOTE_CHARS = `"'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}`
864
+ const QUOTE_CHARS = `"'${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}${LEFT_SINGLE_QUOTE}${RIGHT_SINGLE_QUOTE}${MODIFIER_LETTER_APOSTROPHE}`
864
865
 
865
866
  const DASH_RUN_CHARS = new Set(["-", EN_DASH, EM_DASH])
866
867
 
package/src/nbsp.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHAR_RE, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js"
2
- import { boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, type ProseView, replaceAllInView } from "./prose-view.js"
2
+ import { advanceScanIndex, boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, type ProseView, replaceAllInView } from "./prose-view.js"
3
3
 
4
4
  const {
5
5
  NBSP,
@@ -19,7 +19,8 @@ const UNICODE_UPPERCASE = "\\p{Lu}"
19
19
  // A word-forming character (any Unicode letter or number). Used for the
20
20
  // abbreviation-family word-start guard, which must span the same alphabets the
21
21
  // initial/honorific rules glue on (they key off `\p{Lu}`), so a non-Latin
22
- // acronym like "СССР." is guarded exactly as "NASA." is.
22
+ // acronym like "СССР." is guarded exactly as "NASA." is, and for the last-word
23
+ // rule's check that a word precedes the space.
23
24
  const WORD_CHAR_RE = /[\p{L}\p{N}]/u
24
25
 
25
26
  /** Only specific abbreviations are matched to avoid false positives. */
@@ -168,7 +169,10 @@ function nextWordGluesForward(text: string, start: number): boolean {
168
169
  // glued onward.
169
170
  export const nbspAfterShortWords = makeProsePass(nbspAfterShortWordsOverView)
170
171
 
171
- function nbspAfterShortWordsOverView(view: ProseView): void {
172
+ // Returns the offsets of the spaces this pass turned into no-break spaces, so
173
+ // the last-word rule can tell its own pipeline's glue from the author's.
174
+ function nbspAfterShortWordsOverView(view: ProseView): ReadonlySet<number> {
175
+ const insertedGlue = new Set<number>()
172
176
  const pattern = cachedRegExp(
173
177
  `(?<=^|${SPACE}|${PUNCTUATION_OR_QUOTE}|>)(?<shortWord>[${LATIN_LETTERS}]{1,2})${SPACE}`,
174
178
  "gmu"
@@ -191,7 +195,9 @@ function nbspAfterShortWordsOverView(view: ProseView): void {
191
195
  if (nextWordGluesForward(clean, offset + match[0].length)) return null
192
196
  previousMatchEnd = offset + match[0].length
193
197
  // Edit only the space so any boundary keeps its side of the NBSP.
194
- v.replace(offset + match[0].length - 1, offset + match[0].length, NBSP)
198
+ const spaceOffset = offset + match[0].length - 1
199
+ if (!NBSP_CHARS.includes(clean[spaceOffset])) insertedGlue.add(spaceOffset)
200
+ v.replace(spaceOffset, spaceOffset + 1, NBSP)
195
201
  return null
196
202
  },
197
203
  {
@@ -203,6 +209,7 @@ function nbspAfterShortWordsOverView(view: ProseView): void {
203
209
  )
204
210
  }
205
211
  view.commit()
212
+ return insertedGlue
206
213
  }
207
214
 
208
215
  export const nbspBetweenNumberAndUnit = makeProsePass(nbspBetweenNumberAndUnitOverView)
@@ -260,35 +267,14 @@ function precedingGlueNbsp(view: ProseView, spaceOffset: number): number {
260
267
  return j >= 0 && NBSP_CHARS.includes(text[j]) ? j : -1
261
268
  }
262
269
 
263
- /**
264
- * True when the word immediately before the NBSP at `nbspIndex` is a 1–2 letter
265
- * Latin word whose own left edge is a word boundary — an aesthetic short-word
266
- * glue that yields to last-word protection. Semantic glues (honorific `Dr.`,
267
- * abbreviation, unit `12`) carry a "."/digit/symbol right before the NBSP, so
268
- * the backward letter scan finds zero letters and returns false. The scan is
269
- * capped at three letters so it stays bounded on a long preceding word.
270
- */
271
- function isShortWordGlue(view: ProseView, nbspIndex: number): boolean {
272
- const text = view.text
273
- let k = nbspIndex - 1
274
- let letters = 0
275
- while (k >= 0 && letters <= 2 && !view.hasBoundary(k + 1) && LATIN_LETTER_RE.test(text[k])) {
276
- k--
277
- letters++
278
- }
279
- if (letters === 0 || letters > 2 || view.hasBoundary(k + 1)) return false
280
- // The short word's left edge must be a real word boundary, matching
281
- // nbspAfterShortWords' lookbehind — not another NBSP.
282
- return !(k >= 0 && NBSP_CHARS.includes(text[k]))
283
- }
284
-
285
- // When the second-to-last word is already glued backwards, an aesthetic
286
- // short-word glue yields (reverts to a space) so the last word binds instead,
287
- // keeping the non-breaking run to two words; a semantic glue there blocks.
288
- export const nbspBeforeLastWord = makeProsePass(nbspBeforeLastWordOverView)
270
+ // When the second-to-last word is already glued backwards, a short-word glue
271
+ // that `nbspAfterShortWords` inserted yields (reverts to a space) so the last
272
+ // word binds instead, keeping the non-breaking run to two words. Any other
273
+ // glue there (a semantic glue, or a no-break space the author wrote) blocks.
274
+ export const nbspBeforeLastWord = makeProsePass((view) => nbspBeforeLastWordOverView(view, new Set()))
289
275
 
290
- function nbspBeforeLastWordOverView(view: ProseView): void {
291
- // The `(?<=\w|boundary)` lookbehind and the preceding-glue resolution are
276
+ function nbspBeforeLastWordOverView(view: ProseView, insertedShortWordGlue: ReadonlySet<number>): void {
277
+ // The word-char-or-boundary lookbehind and the preceding-glue resolution are
292
278
  // enforced in the replacer, where boundaries are visible.
293
279
  const pattern = cachedRegExp(
294
280
  `${SPACE}(?<lastWord>(?:(?!\\s).){1,${MAX_LAST_WORD_LENGTH}})(?<ending>\\n\\n|$)`,
@@ -302,12 +288,12 @@ function nbspBeforeLastWordOverView(view: ProseView): void {
302
288
  (match, v) => {
303
289
  const start = match.index
304
290
  const end = start + match[0].length
305
- // `(?<=\w|sep)`: a word char before the space, or a boundary there.
306
- const precededByWord = start > 0 && /\w/.test(clean[start - 1])
291
+ // A word char before the space, or a boundary there.
292
+ const precededByWord = start > 0 && WORD_CHAR_RE.test(clean[start - 1])
307
293
  if (!precededByWord && !view.hasBoundary(start)) return null
308
294
  const glueNbsp = precedingGlueNbsp(v, start)
309
295
  if (glueNbsp >= 0) {
310
- if (!isShortWordGlue(v, glueNbsp)) return null
296
+ if (!insertedShortWordGlue.has(glueNbsp)) return null
311
297
  // Revert the short word's glue so the last word binds in its place.
312
298
  v.replace(glueNbsp, glueNbsp + 1, " ")
313
299
  }
@@ -373,7 +359,7 @@ function nbspBeforeContext(
373
359
  !view.hasBoundary(start) &&
374
360
  WORD_CHAR_RE.test(clean[start - 1])
375
361
  ) {
376
- pattern.lastIndex = start + 1
362
+ pattern.lastIndex = advanceScanIndex(clean, start, pattern)
377
363
  continue
378
364
  }
379
365
  // Slot between the `thing` literal and the space (offset = end - 1);
@@ -384,7 +370,7 @@ function nbspBeforeContext(
384
370
  if (!allowed) {
385
371
  // A boundary broke the (possibly longer) literal; let the scan re-anchor
386
372
  // one position later so a shorter sub-abbreviation can still match.
387
- pattern.lastIndex = start + 1
373
+ pattern.lastIndex = advanceScanIndex(clean, start, pattern)
388
374
  continue
389
375
  }
390
376
  // Edit only the trailing space so the slot/lookahead boundaries keep their
@@ -425,7 +411,8 @@ export const nbspAfterCopyrightSymbols = makeProsePass(nbspAfterCopyrightSymbols
425
411
 
426
412
  export const nbspBetweenInitials = makeProsePass(nbspBetweenInitialsOverView)
427
413
 
428
- // Specific patterns first so they claim matches before generic nbspAfterShortWords.
414
+ // Specific patterns first so they claim matches before the generic short-word
415
+ // rule, which nbspTransform runs after them.
429
416
  const NBSP_TRANSFORMS: ((view: ProseView) => void)[] = [
430
417
  nbspAfterHonorificsOverView,
431
418
  nbspAfterReferenceAbbreviationsOverView,
@@ -433,8 +420,6 @@ const NBSP_TRANSFORMS: ((view: ProseView) => void)[] = [
433
420
  nbspAfterCopyrightSymbolsOverView,
434
421
  nbspBetweenInitialsOverView,
435
422
  nbspBetweenNumberAndUnitOverView,
436
- nbspAfterShortWordsOverView,
437
- nbspBeforeLastWordOverView,
438
423
  ]
439
424
 
440
425
  export function nbspTransform(input: string): string
@@ -448,5 +433,6 @@ export function nbspTransform(input: string | ProseView): string | void {
448
433
  for (const fn of NBSP_TRANSFORMS) {
449
434
  fn(view)
450
435
  }
436
+ nbspBeforeLastWordOverView(view, nbspAfterShortWordsOverView(view))
451
437
  })
452
438
  }
@@ -28,8 +28,9 @@ async function loadPunctilioConfig(searchFrom: string): Promise<RemarkPunctilioO
28
28
 
29
29
  async function runRemarkPunctilio(opts: RemarkPunctilioOptions, ast: Root): Promise<void> {
30
30
  // The unified `Transformer` signature requires a VFile and a callback,
31
- // but `remarkPunctilio` only ever reads the tree. Narrow to the actual
32
- // shape here so the cast lives in one well-commented place.
31
+ // but `remarkPunctilio` only needs the tree (the file just supplies the
32
+ // source for link positions). Narrow to the actual shape here so the cast
33
+ // lives in one well-commented place.
33
34
  const transformer = remarkPunctilio(opts) as (tree: Root) => void | Promise<void>
34
35
  await transformer(ast)
35
36
  }