paperlint 4.1.0 → 5.0.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 (202) hide show
  1. package/CLAUDE.md +26 -2
  2. package/CONTRIBUTING.md +7 -0
  3. package/README.md +15 -4
  4. package/action.harness.mjs +54 -36
  5. package/action.yml +12 -27
  6. package/dist/adapters/latex/document-class.d.ts +6 -5
  7. package/dist/adapters/latex/document-class.d.ts.map +1 -1
  8. package/dist/adapters/latex/document-class.js +18 -10
  9. package/dist/adapters/latex/document-class.js.map +1 -1
  10. package/dist/adapters/latex/includes.d.ts +16 -0
  11. package/dist/adapters/latex/includes.d.ts.map +1 -0
  12. package/dist/adapters/latex/includes.js +48 -0
  13. package/dist/adapters/latex/includes.js.map +1 -0
  14. package/dist/adapters/latex/index.d.ts +9 -5
  15. package/dist/adapters/latex/index.d.ts.map +1 -1
  16. package/dist/adapters/latex/index.js +8 -1
  17. package/dist/adapters/latex/index.js.map +1 -1
  18. package/dist/adapters/latex/nodes.d.ts +5 -1
  19. package/dist/adapters/latex/nodes.d.ts.map +1 -1
  20. package/dist/adapters/latex/nodes.js +6 -2
  21. package/dist/adapters/latex/nodes.js.map +1 -1
  22. package/dist/adapters/latex/parse.d.ts.map +1 -1
  23. package/dist/adapters/latex/parse.js +1 -0
  24. package/dist/adapters/latex/parse.js.map +1 -1
  25. package/dist/adapters/latex/prose.d.ts +8 -0
  26. package/dist/adapters/latex/prose.d.ts.map +1 -0
  27. package/dist/adapters/latex/prose.js +353 -0
  28. package/dist/adapters/latex/prose.js.map +1 -0
  29. package/dist/build.d.ts.map +1 -1
  30. package/dist/build.js +7 -3
  31. package/dist/build.js.map +1 -1
  32. package/dist/claim-provenance.d.ts +34 -0
  33. package/dist/claim-provenance.d.ts.map +1 -0
  34. package/dist/claim-provenance.js +146 -0
  35. package/dist/claim-provenance.js.map +1 -0
  36. package/dist/cli.d.ts +2 -8
  37. package/dist/cli.d.ts.map +1 -1
  38. package/dist/cli.js +81 -31
  39. package/dist/cli.js.map +1 -1
  40. package/dist/domain/paper-source.d.ts +58 -0
  41. package/dist/domain/paper-source.d.ts.map +1 -0
  42. package/dist/domain/paper-source.js +109 -0
  43. package/dist/domain/paper-source.js.map +1 -0
  44. package/dist/domain/sentences.d.ts +26 -0
  45. package/dist/domain/sentences.d.ts.map +1 -0
  46. package/dist/domain/sentences.js +48 -0
  47. package/dist/domain/sentences.js.map +1 -0
  48. package/dist/domain/tex-document.d.ts +39 -4
  49. package/dist/domain/tex-document.d.ts.map +1 -1
  50. package/dist/domain/tex-document.js.map +1 -1
  51. package/dist/eslint-rules/latex-language.d.ts +5 -1
  52. package/dist/eslint-rules/latex-language.d.ts.map +1 -1
  53. package/dist/eslint-rules/latex-language.js +6 -3
  54. package/dist/eslint-rules/latex-language.js.map +1 -1
  55. package/dist/eslint-rules/paper-context.d.ts +20 -0
  56. package/dist/eslint-rules/paper-context.d.ts.map +1 -0
  57. package/dist/eslint-rules/paper-context.js +44 -0
  58. package/dist/eslint-rules/paper-context.js.map +1 -0
  59. package/dist/eslint-rules/paper-typography.d.ts +8 -1
  60. package/dist/eslint-rules/paper-typography.d.ts.map +1 -1
  61. package/dist/eslint-rules/paper-typography.js +85 -19
  62. package/dist/eslint-rules/paper-typography.js.map +1 -1
  63. package/dist/eslint-rules/tex-build.d.ts.map +1 -1
  64. package/dist/eslint-rules/tex-build.js +7 -1
  65. package/dist/eslint-rules/tex-build.js.map +1 -1
  66. package/dist/init.d.ts +4 -19
  67. package/dist/init.d.ts.map +1 -1
  68. package/dist/init.js +24 -29
  69. package/dist/init.js.map +1 -1
  70. package/dist/package-dirs.d.ts +2 -0
  71. package/dist/package-dirs.d.ts.map +1 -1
  72. package/dist/package-dirs.js +8 -0
  73. package/dist/package-dirs.js.map +1 -1
  74. package/dist/paper-files.d.ts +2 -2
  75. package/dist/paper-includes.d.ts +17 -0
  76. package/dist/paper-includes.d.ts.map +1 -0
  77. package/dist/paper-includes.js +51 -0
  78. package/dist/paper-includes.js.map +1 -0
  79. package/dist/ports/latex.d.ts +12 -1
  80. package/dist/ports/latex.d.ts.map +1 -1
  81. package/dist/register.d.ts +40 -0
  82. package/dist/register.d.ts.map +1 -0
  83. package/dist/register.js +134 -0
  84. package/dist/register.js.map +1 -0
  85. package/dist/rules-config.d.ts +1 -0
  86. package/dist/rules-config.d.ts.map +1 -1
  87. package/dist/rules-config.js.map +1 -1
  88. package/dist/structure.js +1 -1
  89. package/dist/structure.js.map +1 -1
  90. package/dist/tex-paper.d.ts +33 -0
  91. package/dist/tex-paper.d.ts.map +1 -0
  92. package/dist/tex-paper.js +103 -0
  93. package/dist/tex-paper.js.map +1 -0
  94. package/dist/tex-venue-rules.d.ts +7 -2
  95. package/dist/tex-venue-rules.d.ts.map +1 -1
  96. package/dist/tex-venue-rules.js +31 -17
  97. package/dist/tex-venue-rules.js.map +1 -1
  98. package/docs/configuration.md +5 -4
  99. package/docs/install.md +8 -8
  100. package/docs/prior-art/paper-folder-scaffolding.md +4 -7
  101. package/docs/rules/tex/claim-provenance.md +83 -0
  102. package/docs/rules/tex/register.md +77 -0
  103. package/docs/rules/tex/required-section.md +3 -1
  104. package/docs/rules/tex/template.md +12 -0
  105. package/docs/rules/tex/venue-leftover.md +4 -2
  106. package/docs/rules.md +17 -10
  107. package/eslint-rules/latex-language.ts +10 -4
  108. package/eslint-rules/paper-context.test.ts +47 -0
  109. package/eslint-rules/paper-context.ts +57 -0
  110. package/eslint-rules/paper-typography.test.mjs +48 -1
  111. package/eslint-rules/paper-typography.ts +139 -24
  112. package/eslint-rules/tex-build.ts +8 -1
  113. package/eslint.config.mjs +1 -0
  114. package/fixtures/real-markdown-paper/baseline.json +1 -2
  115. package/fixtures/real-markdown-paper/baseline.ts +8 -7
  116. package/package.json +2 -1
  117. package/scripts/check.ts +2 -2
  118. package/scripts/eslint-report-guard.mjs +5 -2
  119. package/scripts/harness-api.frozen.json +0 -1
  120. package/skills/cold-read-diff/SKILL.md +31 -10
  121. package/skills/cold-read-diff/SKILL.md.spec.ts +30 -9
  122. package/skills/draft-paper/SKILL.md +2 -2
  123. package/skills/draft-paper/SKILL.md.spec.ts +1 -1
  124. package/skills/grade-paper-writing/SKILL.md +109 -44
  125. package/skills/grade-paper-writing/SKILL.md.spec.ts +108 -43
  126. package/skills/harden-paper/SKILL.md +35 -36
  127. package/skills/harden-paper/SKILL.md.spec.ts +34 -35
  128. package/skills/paper-adversarial-review/SKILL.md +2 -2
  129. package/skills/paper-adversarial-review/SKILL.md.spec.ts +1 -1
  130. package/skills/paper-pipeline/SKILL.md +3 -3
  131. package/skills/paper-pipeline/SKILL.md.spec.ts +2 -2
  132. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +6 -6
  133. package/skills/paper-pipeline/references/pipeline-status-template.md +2 -16
  134. package/skills/paper-pipeline/references/writing-craft.md +53 -18
  135. package/skills/pc-panel-review/SKILL.md +36 -11
  136. package/skills/pc-panel-review/SKILL.md.spec.ts +35 -10
  137. package/src/adapters/latex/document-class.ts +20 -12
  138. package/src/adapters/latex/includes.ts +74 -0
  139. package/src/adapters/latex/index.test.ts +183 -1
  140. package/src/adapters/latex/index.ts +14 -4
  141. package/src/adapters/latex/nodes.ts +11 -2
  142. package/src/adapters/latex/parse.ts +1 -0
  143. package/src/adapters/latex/prose.ts +484 -0
  144. package/src/build.harness.mjs +4 -2
  145. package/src/build.test.ts +18 -1
  146. package/src/build.ts +7 -3
  147. package/src/claim-provenance.test.ts +352 -0
  148. package/src/claim-provenance.ts +217 -0
  149. package/src/cli.harness.mjs +22 -54
  150. package/src/cli.test.ts +2 -18
  151. package/src/cli.ts +92 -36
  152. package/src/domain/paper-source.test.ts +156 -0
  153. package/src/domain/paper-source.ts +233 -0
  154. package/src/domain/sentences.ts +67 -0
  155. package/src/domain/tex-document.ts +36 -3
  156. package/src/init.test.ts +33 -13
  157. package/src/init.ts +25 -48
  158. package/src/linted-set.test.ts +11 -1
  159. package/src/new-paper.harness.mjs +1 -5
  160. package/src/package-dirs.ts +9 -0
  161. package/src/paper-files.ts +2 -2
  162. package/src/paper-includes.test.ts +161 -0
  163. package/src/paper-includes.ts +77 -0
  164. package/src/ports/latex.ts +13 -0
  165. package/src/register.test.ts +165 -0
  166. package/src/register.ts +177 -0
  167. package/src/rule-cases.test.ts +43 -23
  168. package/src/rule-docs.test.ts +0 -1
  169. package/src/rules-config.ts +1 -0
  170. package/src/structure.harness.ts +1 -3
  171. package/src/structure.ts +1 -1
  172. package/src/tex-paper.test.ts +148 -0
  173. package/src/tex-paper.ts +161 -0
  174. package/src/tex-venue-rules.test.ts +87 -5
  175. package/src/tex-venue-rules.ts +62 -30
  176. package/templates/paper/PIPELINE-STATUS.md +0 -4
  177. package/dist/action-ref.d.ts +0 -12
  178. package/dist/action-ref.d.ts.map +0 -1
  179. package/dist/action-ref.js +0 -16
  180. package/dist/action-ref.js.map +0 -1
  181. package/dist/eslint-rules/paper-research-question.d.ts +0 -31
  182. package/dist/eslint-rules/paper-research-question.d.ts.map +0 -1
  183. package/dist/eslint-rules/paper-research-question.js +0 -188
  184. package/dist/eslint-rules/paper-research-question.js.map +0 -1
  185. package/eslint-rules/paper-research-question.harness.mjs +0 -212
  186. package/eslint-rules/paper-research-question.ts +0 -199
  187. package/fixtures/paper-research-question/comment-only/PIPELINE-STATUS.md +0 -9
  188. package/fixtures/paper-research-question/comment-only/paper.tex +0 -7
  189. package/fixtures/paper-research-question/declared-not-in-paper/PIPELINE-STATUS.md +0 -10
  190. package/fixtures/paper-research-question/declared-not-in-paper/paper.tex +0 -6
  191. package/fixtures/paper-research-question/draft/PIPELINE-STATUS.md +0 -6
  192. package/fixtures/paper-research-question/draft/paper.tex +0 -2
  193. package/fixtures/paper-research-question/markdown-no-rq/PIPELINE-STATUS.md +0 -9
  194. package/fixtures/paper-research-question/markdown-no-rq/paper.md +0 -4
  195. package/fixtures/paper-research-question/shipped-no-rq/PIPELINE-STATUS.md +0 -12
  196. package/fixtures/paper-research-question/shipped-no-rq/paper.tex +0 -3
  197. package/fixtures/paper-research-question/shipped-with-rq/PIPELINE-STATUS.md +0 -10
  198. package/fixtures/paper-research-question/shipped-with-rq/paper.tex +0 -2
  199. package/skills/harden-paper/fixtures/uncited-assertions-sample.md +0 -43
  200. package/skills/harden-paper/fixtures/uncited-assertions-sample.tex +0 -77
  201. package/src/action-ref.test.ts +0 -26
  202. package/src/action-ref.ts +0 -15
@@ -0,0 +1,58 @@
1
+ import type { Span } from "./tex-document.ts";
2
+ /** One `\input`, `\include` or `\subfile` in a source: the path as written and where the macro stands. */
3
+ export interface Include {
4
+ readonly macro: "input" | "include" | "subfile";
5
+ readonly target: string;
6
+ readonly span: Span;
7
+ }
8
+ /** What assembling needs from the LaTeX reader and from the disk, relative to the paper directory. */
9
+ export interface AssembleDeps {
10
+ /** The includes of a source, in source order. */
11
+ readonly includes: (src: string) => readonly Include[];
12
+ /** The span of a source's `document` environment body, or null when it has none. */
13
+ readonly documentBody: (src: string) => Span | null;
14
+ /** A file's text by its path relative to the paper directory, or null when there is none. */
15
+ readonly read: (path: string) => string | null;
16
+ }
17
+ /** A stretch of the assembled text copied from one file: `[start, end)` here is `from…` there. */
18
+ export interface Segment {
19
+ readonly start: number;
20
+ readonly end: number;
21
+ readonly file: string;
22
+ /** The whole text of `file`, so a place in it can be told as a line and a column. */
23
+ readonly source: string;
24
+ readonly from: number;
25
+ /** Where, in the main file, the outermost include that brought this text in stands. */
26
+ readonly via: Span | null;
27
+ }
28
+ /** An include whose file was not found, where it stands. */
29
+ export interface MissingInclude {
30
+ readonly file: string;
31
+ readonly target: string;
32
+ readonly span: Span;
33
+ /** Where it stands in the main file (the include itself, or the one that brought its file in). */
34
+ readonly via: Span;
35
+ }
36
+ /** The paper as one text, the map back to its files, and the includes that were not found. */
37
+ export interface PaperSource {
38
+ readonly main: string;
39
+ readonly text: string;
40
+ readonly segments: readonly Segment[];
41
+ readonly missing: readonly MissingInclude[];
42
+ }
43
+ /** The paper whose main file is `main` (a path relative to the paper directory) with `text`. */
44
+ export declare function assemblePaper(main: string, text: string, deps: AssembleDeps): PaperSource;
45
+ /** Where a span of the assembled text stands: in which file, at which offsets, and via which include. */
46
+ export interface Origin {
47
+ readonly file: string;
48
+ /** The whole text of `file`. */
49
+ readonly source: string;
50
+ readonly span: Span;
51
+ readonly via: Span | null;
52
+ }
53
+ /**
54
+ * The origin of `span` of the assembled text: the file of its first character. A span that runs
55
+ * past that file's stretch is cut at its end — a sentence cannot point into two files.
56
+ */
57
+ export declare function originOf(p: PaperSource, span: Span): Origin | null;
58
+ //# sourceMappingURL=paper-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper-source.d.ts","sourceRoot":"","sources":["../../src/domain/paper-source.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,0GAA0G;AAC1G,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACvD,oFAAoF;IACpF,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,kGAAkG;AAClG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,kGAAkG;IAClG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB;AAED,8FAA8F;AAC9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAwHD,gGAAgG;AAChG,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,GACjB,WAAW,CAab;AAED,yGAAyG;AACzG,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAgBlE"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * A paper as one text: `paper.tex` with every `\input`, `\include` and `\subfile` replaced by the
3
+ * file it names — what TeX itself does — and a map from every character of that text back to the
4
+ * file and offset it came from. The rules read the whole paper; a finding still points at its file.
5
+ *
6
+ * ── WHY SPLICE THE TEXT ──────────────────────────────────────────────────────────
7
+ * `\input` is textual inclusion: TeX reads the named file where the macro stands. Replacing the
8
+ * macro by the file's text gives the parser exactly what TeX reads, so every question the reader
9
+ * answers about one file (the class, the outline, the rendered text, the body's passages) is
10
+ * answered about the paper, unchanged. A subfile is a document of its own; only its body is spliced.
11
+ *
12
+ * ── WHAT IS NOT DONE ─────────────────────────────────────────────────────────────
13
+ * No macro is expanded, so a path built from a macro (`\input{\dir/intro}`) is read as written. A
14
+ * file that cannot be found is left out and named in `missing`; a file that includes itself,
15
+ * directly or through others, is spliced once.
16
+ */
17
+ import { extname, normalize } from "node:path";
18
+ /** The paths TeX tries for a target: `name.tex`, then `name` — or the name alone if it has one. */
19
+ const candidates = (target) => {
20
+ const t = normalize(target.trim());
21
+ return extname(t) === "" ? [`${t}.tex`, t] : [t];
22
+ };
23
+ /** The first candidate path that exists, with its text. */
24
+ function found(target, read) {
25
+ const hits = candidates(target).flatMap((path) => {
26
+ const text = read(path);
27
+ return text === null ? [] : [{ path, text }];
28
+ });
29
+ return hits[0] ?? null;
30
+ }
31
+ /** `segments` moved by `by` characters. */
32
+ const shifted = (segments, by) => segments.map((s) => ({ ...s, start: s.start + by, end: s.end + by }));
33
+ /** A stretch as a piece: its text, and one segment mapping it back. */
34
+ const copied = ({ file, text, from, to, via }) => ({
35
+ text: text.slice(from, to),
36
+ segments: to > from
37
+ ? [{ start: 0, end: to - from, file, source: text, from, via }]
38
+ : [],
39
+ missing: [],
40
+ });
41
+ /** Nothing: an include left out. */
42
+ const NOTHING = { text: "", segments: [], missing: [] };
43
+ /** Pieces joined in order. */
44
+ const joined = (pieces) => pieces.reduce((acc, p) => ({
45
+ text: acc.text + p.text,
46
+ segments: [...acc.segments, ...shifted(p.segments, acc.text.length)],
47
+ missing: [...acc.missing, ...p.missing],
48
+ }), NOTHING);
49
+ function spliced(file, text, range, ctx) {
50
+ const incs = ctx.deps
51
+ .includes(text)
52
+ .filter((i) => i.span.start >= range.start && i.span.end <= range.end);
53
+ const at = (from, to) => copied({ file, text, from, to, via: ctx.via });
54
+ const { pieces, cursor } = incs.reduce((acc, inc) => ({
55
+ pieces: [
56
+ ...acc.pieces,
57
+ at(acc.cursor, inc.span.start),
58
+ included(file, inc, ctx),
59
+ ],
60
+ cursor: inc.span.end,
61
+ }), { pieces: [], cursor: range.start });
62
+ return joined([...pieces, at(cursor, range.end)]);
63
+ }
64
+ /** One include: the file it names, spliced, or — when not found — nothing, and a report. */
65
+ function included(file, inc, ctx) {
66
+ const via = ctx.via ?? inc.span;
67
+ const hit = found(inc.target, ctx.deps.read);
68
+ if (hit === null)
69
+ return {
70
+ ...NOTHING,
71
+ missing: [{ file, target: inc.target, span: inc.span, via }],
72
+ };
73
+ if (ctx.stack.includes(hit.path))
74
+ return NOTHING;
75
+ const body = inc.macro === "subfile" ? ctx.deps.documentBody(hit.text) : null;
76
+ return spliced(hit.path, hit.text, body ?? { start: 0, end: hit.text.length }, { deps: ctx.deps, stack: [...ctx.stack, hit.path], via });
77
+ }
78
+ /** The paper whose main file is `main` (a path relative to the paper directory) with `text`. */
79
+ export function assemblePaper(main, text, deps) {
80
+ const p = spliced(main, text, { start: 0, end: text.length }, { deps, stack: [main], via: null });
81
+ return {
82
+ main,
83
+ text: p.text,
84
+ segments: p.segments,
85
+ missing: p.missing,
86
+ };
87
+ }
88
+ /**
89
+ * The origin of `span` of the assembled text: the file of its first character. A span that runs
90
+ * past that file's stretch is cut at its end — a sentence cannot point into two files.
91
+ */
92
+ export function originOf(p, span) {
93
+ // The character at `start`; an empty span at the very end belongs to the last stretch.
94
+ const seg = p.segments.find((s) => span.start >= s.start && span.start < s.end) ??
95
+ p.segments.find((s) => span.start === s.end);
96
+ if (seg === undefined)
97
+ return null;
98
+ const end = Math.min(span.end, seg.end);
99
+ return {
100
+ file: seg.file,
101
+ source: seg.source,
102
+ span: {
103
+ start: seg.from + span.start - seg.start,
104
+ end: seg.from + end - seg.start,
105
+ },
106
+ via: seg.via,
107
+ };
108
+ }
109
+ //# sourceMappingURL=paper-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper-source.js","sourceRoot":"","sources":["../../src/domain/paper-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The sentences of body prose — one splitter, so every rule that counts or judges sentences cuts
3
+ * them the same way (`tex/claim-provenance` judges each; `tex/register` counts them).
4
+ *
5
+ * A passage becomes one text: its prose as itself, and each mark (a citation, a cross-reference) or
6
+ * math as one character no prose contains, where it stands. `Intl.Segmenter` cuts that text; a break
7
+ * after an abbreviation is undone, and marks set right after a full stop belong to the sentence the
8
+ * full stop ends.
9
+ */
10
+ import type { Passage, ProsePiece, Segment, TextRun } from "./tex-document.ts";
11
+ /** What stands in a sentence's text for a mark: characters no prose contains (private use). */
12
+ export declare const CITATION = "\uE000";
13
+ export declare const REFERENCE = "\uE001";
14
+ export declare const MATH = "\uE002";
15
+ /** A piece as the text of its sentence sees it: text as itself, a mark or math as one character. */
16
+ export declare function segmentOf(p: ProsePiece): Segment;
17
+ /** A passage as one run of text, each mark a character where it stands. */
18
+ export declare const runOf: (p: Passage) => TextRun;
19
+ /** `[from, to)` of a text. */
20
+ export type Range = readonly [number, number];
21
+ /**
22
+ * The sentences of `text`, as `[from, to)` ranges. A break after an abbreviation is undone, and
23
+ * marks standing right after a full stop belong to the sentence the full stop ends.
24
+ */
25
+ export declare function sentences(text: string): readonly Range[];
26
+ //# sourceMappingURL=sentences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/domain/sentences.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,QAAQ,WAAM,CAAC;AAC5B,eAAO,MAAM,SAAS,WAAM,CAAC;AAC7B,eAAO,MAAM,IAAI,WAAM,CAAC;AAExB,oGAAoG;AACpG,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAYhD;AAED,2EAA2E;AAC3E,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,KAAG,OAGlC,CAAC;AAWF,8BAA8B;AAC9B,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,EAAE,CAaxD"}
@@ -0,0 +1,48 @@
1
+ /** What stands in a sentence's text for a mark: characters no prose contains (private use). */
2
+ export const CITATION = "";
3
+ export const REFERENCE = "";
4
+ export const MATH = "";
5
+ /** A piece as the text of its sentence sees it: text as itself, a mark or math as one character. */
6
+ export function segmentOf(p) {
7
+ switch (p.kind) {
8
+ case "text":
9
+ return p.segment;
10
+ case "owner":
11
+ return {
12
+ text: p.owner === "citation" ? CITATION : REFERENCE,
13
+ at: p.span.start,
14
+ };
15
+ case "math":
16
+ return { text: MATH, at: p.span.start };
17
+ }
18
+ }
19
+ /** A passage as one run of text, each mark a character where it stands. */
20
+ export const runOf = (p) => {
21
+ const [first, ...rest] = p.pieces;
22
+ return { segments: [segmentOf(first), ...rest.map(segmentOf)] };
23
+ };
24
+ /** An abbreviation whose full stop does not end a sentence, at the end of a segment. */
25
+ const ABBREVIATION = /(?:^|[^\p{L}])(?:e\.g|i\.e|cf|vs|et al|Figs?|Secs?|Tab|Eqs?|No|App|approx|resp)\.\s*$/u;
26
+ const SEGMENTER = new Intl.Segmenter("en", { granularity: "sentence" });
27
+ /** Marks, and the spaces among them, that open a segment: a `\cite` or a footnote set after the full stop. */
28
+ const LEADING_MARKS = /^[\s]*[]/u;
29
+ /**
30
+ * The sentences of `text`, as `[from, to)` ranges. A break after an abbreviation is undone, and
31
+ * marks standing right after a full stop belong to the sentence the full stop ends.
32
+ */
33
+ export function sentences(text) {
34
+ return [...SEGMENTER.segment(text)].reduce((acc, s) => {
35
+ const prev = acc.at(-1);
36
+ const end = s.index + s.segment.length;
37
+ if (prev === undefined)
38
+ return [[s.index, end]];
39
+ const before = acc.slice(0, -1);
40
+ if (ABBREVIATION.test(text.slice(...prev)))
41
+ return [...before, [prev[0], end]];
42
+ const split = s.index + (LEADING_MARKS.exec(s.segment)?.[0].length ?? 0);
43
+ return split < end
44
+ ? [...before, [prev[0], split], [split, end]]
45
+ : [...before, [prev[0], end]];
46
+ }, []);
47
+ }
48
+ //# sourceMappingURL=sentences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/domain/sentences.ts"],"names":[],"mappings":"AAWA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AAExB,oGAAoG;AACpG,MAAM,UAAU,SAAS,CAAC,CAAa;IACrC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,OAAO,CAAC;QACnB,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACnD,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;aACjB,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAU,EAAW,EAAE;IAC3C,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAClE,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,YAAY,GAChB,wFAAwF,CAAC;AAE3F,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;AAExE,8GAA8G;AAC9G,MAAM,aAAa,GAAG,eAAe,CAAC;AAKtC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,KAAK,GAAG,GAAG;YAChB,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -22,16 +22,29 @@ export interface DocumentClass {
22
22
  readonly cls: string;
23
23
  readonly options: readonly string[];
24
24
  }
25
- /** A paper's `\documentclass`: none, one that names no class, or a class with its options. */
26
- export type ClassLine = {
27
- readonly kind: "missing";
28
- } | {
25
+ /** One `\documentclass` line: one that names no class, or a class with its options. */
26
+ export type ClassCandidate = {
29
27
  readonly kind: "empty";
30
28
  readonly place: Place;
31
29
  } | ({
32
30
  readonly kind: "class";
33
31
  readonly place: Place;
34
32
  } & DocumentClass);
33
+ /**
34
+ * A paper's `\documentclass`: none, exactly one, or several — a source that picks its class behind
35
+ * a TeX switch (`\if\venue1 \documentclass{article} \fi …`). Which branch builds is not
36
+ * evaluated, so several lines are candidates, in source order, and none of them is THE class.
37
+ */
38
+ export type ClassLine = {
39
+ readonly kind: "missing";
40
+ } | ClassCandidate | {
41
+ readonly kind: "ambiguous";
42
+ readonly candidates: readonly [
43
+ ClassCandidate,
44
+ ClassCandidate,
45
+ ...ClassCandidate[]
46
+ ];
47
+ };
35
48
  /** The options of `want` that `got` does not carry — every one, in `want`'s order. */
36
49
  export declare const missingOptions: (got: DocumentClass, want: DocumentClass) => readonly string[];
37
50
  /** What a paper's class line needs to satisfy a venue: nothing, options added, or the venue's line. */
@@ -81,4 +94,26 @@ export declare const runText: (run: TextRun) => string;
81
94
  * Null when the range is empty or reaches outside the run — never an invented position.
82
95
  */
83
96
  export declare function spanIn(run: TextRun, from: number, to: number): Span | null;
97
+ /** What a mark in prose says about where a claim comes from: a work outside the paper, or a place in it. */
98
+ export type Owner = "citation" | "reference";
99
+ /**
100
+ * One piece of body prose, in source order: text a reader sees, a mark the markup leaves in the
101
+ * sentence (a `\cite`, a link, a `\ref`), or math, with its source.
102
+ */
103
+ export type ProsePiece = {
104
+ readonly kind: "text";
105
+ readonly segment: Segment;
106
+ } | {
107
+ readonly kind: "owner";
108
+ readonly owner: Owner;
109
+ readonly span: Span;
110
+ } | {
111
+ readonly kind: "math";
112
+ readonly tex: string;
113
+ readonly span: Span;
114
+ };
115
+ /** A stretch of body prose no sentence crosses — a paragraph, a list item, a footnote. Never empty. */
116
+ export interface Passage {
117
+ readonly pieces: readonly [ProsePiece, ...ProsePiece[]];
118
+ }
84
119
  //# sourceMappingURL=tex-document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tex-document.d.ts","sourceRoot":"","sources":["../../src/domain/tex-document.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oDAAoD;AACpD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,oFAAoF;AACpF,MAAM,MAAM,KAAK,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,mGAAmG;AACnG,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,MACM,CAAC;AAE5C,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,8FAA8F;AAC9F,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACjD,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,aAAa,CAAC,CAAC;AAExE,sFAAsF;AACtF,eAAO,MAAM,cAAc,GACzB,KAAK,aAAa,EAClB,MAAM,aAAa,KAClB,SAAS,MAAM,EAA0D,CAAC;AAE7E,uGAAuG;AACvG,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAA;CAAE,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,aAAa,GAClB,WAAW,CAMb;AAED,iGAAiG;AACjG,eAAO,MAAM,iBAAiB,GAAI,GAAG,aAAa,KAAG,MACiC,CAAC;AAEvF,iFAAiF;AACjF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,gGAAgG;AAChG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,6FAA6F;AAC7F,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,gEAAgE;AAChE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;CACrD;AAED,sBAAsB;AACtB,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,KAAG,MACG,CAAC;AAS3C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAI1E"}
1
+ {"version":3,"file":"tex-document.d.ts","sourceRoot":"","sources":["../../src/domain/tex-document.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tex-document.js","sourceRoot":"","sources":["../../src/domain/tex-document.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,mGAAmG;AACnG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAC5C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAc5C,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAkB,EAClB,IAAmB,EACA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAQ7E;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAAmB,EACnB,IAAmB;IAEnB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QAClB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAgB,EAAU,EAAE,CAC5D,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;AA4BvF,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAU,EAAE,CAC9C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3C,qGAAqG;AACrG,SAAS,QAAQ,CAAC,QAA4B,EAAE,CAAS;IACvD,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAY,EAAE,IAAY,EAAE,EAAU;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,OAAO,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"tex-document.js","sourceRoot":"","sources":["../../src/domain/tex-document.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,mGAAmG;AACnG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAC5C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA8B5C,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAkB,EAClB,IAAmB,EACA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAQ7E;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAAmB,EACnB,IAAmB;IAEnB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QAClB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAgB,EAAU,EAAE,CAC5D,kBAAkB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;AA4BvF,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAU,EAAE,CAC9C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3C,qGAAqG;AACrG,SAAS,QAAQ,CAAC,QAA4B,EAAE,CAAS;IACvD,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAY,EAAE,IAAY,EAAE,EAAU;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,OAAO,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AAC3E,CAAC"}
@@ -79,6 +79,10 @@ export type MdNode = {
79
79
  readonly lang: string;
80
80
  readonly value: string;
81
81
  };
82
+ /** The root of a projection: a node that has children. */
83
+ export type MdRoot = Extract<MdNode, {
84
+ readonly type: "root" | "strong";
85
+ }>;
82
86
  /** An inline-config comment: an `html` node's text and where it sits. */
83
87
  interface ConfigNode {
84
88
  readonly value: string;
@@ -87,7 +91,7 @@ interface ConfigNode {
87
91
  export declare function texToMdast(src: string, { parse, }?: {
88
92
  parse?: (s: string) => TexRoot;
89
93
  }): {
90
- root: MdNode;
94
+ root: MdRoot;
91
95
  text: string;
92
96
  };
93
97
  declare class TexSourceCode extends TextSourceCodeBase<{
@@ -1 +1 @@
1
- {"version":3,"file":"latex-language.d.ts","sourceRoot":"","sources":["../../eslint-rules/latex-language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latex-language.d.ts","sourceRoot":"","sources":["../../eslint-rules/latex-language.ts"],"names":[],"mappings":"AAyGA,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAGV,WAAW,EACX,QAAQ,EACR,eAAe,EAGhB,MAAM,cAAc,CAAC;AAEtB,0EAA0E;AAC1E,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GACf;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,GACtE,MAAM,CAAC;AAEX,8CAA8C;AAC9C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED,0CAA0C;AAC1C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GACd;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEN,0DAA0D;AAC1D,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE3E,yEAAyE;AACzE,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAuFD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,EACE,KAAoD,GACrD,GAAE;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACzC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAyWhC;AAaD,cAAM,aAAc,SAAQ,kBAAkB,CAAC;IAC7C,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;;IAKS,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,GAAG,EAAE,MAAM,CAAC;gBACA,EACV,IAAI,EACJ,GAAG,EACH,GAAG,GACJ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B;IAMQ,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAGpD,oBAAoB,IAAI,UAAU,EAAE;IAOpC,oBAAoB,IAAI;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE;IAe5E,iBAAiB,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE;IAGzD,QAAQ,IAAI,aAAa,CAAC,aAAa,CAAC;CAkBlD;AAED,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC;IACjC,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAuCA,CAAC"}
@@ -51,9 +51,12 @@
51
51
  * paper. The projection counts differently: the same place gave 1239 words before macro
52
52
  * blanking and 1208 after — a 2.5% discrepancy. The discrepancy is ACCEPTED deliberately;
53
53
  * the thresholds were not recalibrated.
54
- * 4. A MULTI-FILE PAPER IS INVISIBLE. `\input` / `\include` are in OPAQUE — their contents
55
- * are not read. The first `\input{sections/method}` yields a silent zero over all the
56
- * prose it pulls in.
54
+ * 4. ONE FILE AT A TIME. `\input` / `\include` are in OPAQUE: the projection of `paper.tex`
55
+ * does not hold what they pull in. `paperlint lint` hands ESLint each file the paper includes
56
+ * from its body as a file of its own (src/paper-includes.ts), and a file with no `document`
57
+ * environment is projected as body throughout — so an included file is read where it is,
58
+ * and its findings point into it. An ESLint run outside `paperlint lint` reads only the
59
+ * files it was given.
57
60
  * 5. `\appendix` IS NOT IMPLEMENTED and is INEXPRESSIBLE in a length-preserving projection:
58
61
  * `\appendix` is 9 characters, `## Appendix` is 11, the synthesis does not fit. On the
59
62
  * first paper with a real `\appendix`, `appendix-ref` / `appendix-ratio` yield a silent
@@ -1 +1 @@
1
- {"version":3,"file":"latex-language.js","sourceRoot":"","sources":["../../eslint-rules/latex-language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latex-language.js","sourceRoot":"","sources":["../../eslint-rules/latex-language.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ /** The key under ESLint's `settings`; the paper is at `settings[PAPERLINT_SETTINGS].paper`. */
3
+ export declare const PAPERLINT_SETTINGS = "paperlint";
4
+ declare const PaperSetting: z.ZodObject<{
5
+ main: z.ZodString;
6
+ files: z.ZodReadonly<z.ZodArray<z.ZodString>>;
7
+ }, z.core.$strip>;
8
+ /** The paper a file belongs to: its main file and all of its files. */
9
+ export type PaperOfFile = Readonly<z.infer<typeof PaperSetting>>;
10
+ /** The paper the linted file belongs to, or null when lint handed none. */
11
+ export declare function paperOf(settings: Readonly<Record<string, unknown>>): PaperOfFile | null;
12
+ /**
13
+ * The text of a file on disk; empty when it cannot be read — a file gone since `paperlint lint`
14
+ * named it holds no text for any rule.
15
+ */
16
+ export declare function textOnDisk(path: string): string;
17
+ /** The texts of the paper's files other than `filename`, read from disk; none without a paper. */
18
+ export declare const otherTexts: (paper: PaperOfFile | null, filename: string) => readonly string[];
19
+ export {};
20
+ //# sourceMappingURL=paper-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper-context.d.ts","sourceRoot":"","sources":["../../eslint-rules/paper-context.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,QAAA,MAAM,YAAY;;;iBAKhB,CAAC;AAEH,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;AAIjE,2EAA2E;AAC3E,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,WAAW,GAAG,IAAI,CAGpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED,kGAAkG;AAClG,eAAO,MAAM,UAAU,GACrB,OAAO,WAAW,GAAG,IAAI,EACzB,UAAU,MAAM,KACf,SAAS,MAAM,EACkD,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * THE PAPER A LINTED FILE BELONGS TO — handed to the rules by `paperlint lint` in ESLint's `settings`.
3
+ *
4
+ * ESLint lints one file at a time. A paper whose body is in `sections/*.tex` is several files, and
5
+ * two questions are about the paper, not the file: which reference form (`Fig.` or `Figure`) the
6
+ * paper uses most, and whether the build `paper.tex` declares is a review build. The CLI knows the
7
+ * files (it resolves the includes the way the build does, `bodyFiles` in src/tex-paper.ts) and puts
8
+ * them under `settings.paperlint.paper`
9
+ * for `paper.tex` and for every file it includes. A rule reads the other files from disk.
10
+ *
11
+ * No setting — a file linted outside `paperlint lint`, or a markdown paper — means a paper of one
12
+ * file: every rule decides on the file it was handed, as it did before.
13
+ */
14
+ import { readFileSync } from "node:fs";
15
+ import { z } from "zod";
16
+ /** The key under ESLint's `settings`; the paper is at `settings[PAPERLINT_SETTINGS].paper`. */
17
+ export const PAPERLINT_SETTINGS = "paperlint";
18
+ const PaperSetting = z.object({
19
+ /** The absolute path of the paper's `paper.tex`. */
20
+ main: z.string(),
21
+ /** Absolute paths: `paper.tex`, then every file of its body, each once. */
22
+ files: z.array(z.string()).readonly(),
23
+ });
24
+ const Settings = z.looseObject({ paper: PaperSetting });
25
+ /** The paper the linted file belongs to, or null when lint handed none. */
26
+ export function paperOf(settings) {
27
+ const r = Settings.safeParse(settings[PAPERLINT_SETTINGS]);
28
+ return r.success ? r.data.paper : null;
29
+ }
30
+ /**
31
+ * The text of a file on disk; empty when it cannot be read — a file gone since `paperlint lint`
32
+ * named it holds no text for any rule.
33
+ */
34
+ export function textOnDisk(path) {
35
+ try {
36
+ return readFileSync(path, "utf8");
37
+ }
38
+ catch {
39
+ return "";
40
+ }
41
+ }
42
+ /** The texts of the paper's files other than `filename`, read from disk; none without a paper. */
43
+ export const otherTexts = (paper, filename) => (paper?.files ?? []).filter((f) => f !== filename).map(textOnDisk);
44
+ //# sourceMappingURL=paper-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper-context.js","sourceRoot":"","sources":["../../eslint-rules/paper-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+FAA+F;AAC/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,oDAAoD;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,2EAA2E;IAC3E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAKH,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAExD,2EAA2E;AAC3E,MAAM,UAAU,OAAO,CACrB,QAA2C;IAE3C,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,KAAyB,EACzB,QAAgB,EACG,EAAE,CACrB,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TexRoot } from "./latex-language.ts";
1
+ import { type TexRoot } from "./latex-language.ts";
2
2
  import type { RuleContext } from "./rule-context.ts";
3
3
  /** Where a `.bib` embedded in a `filecontents` environment sits in the file. */
4
4
  export interface BibRange {
@@ -14,6 +14,13 @@ interface Run {
14
14
  }
15
15
  /** The inline bibliography — a `filecontents` block writing a `.bib` — with its offsets. */
16
16
  export declare function bibRange(text: string): BibRange | null;
17
+ /**
18
+ * The ranges of the cleveref definitions in the preamble and in the document body. `parse` is
19
+ * unified-latex's; a test hands in a tree with the fields the walk tolerates being absent.
20
+ */
21
+ export declare function crefDefinitionRanges(raw: string, { parse, }?: {
22
+ readonly parse?: (s: string) => TexRoot;
23
+ }): readonly [number, number][];
17
24
  /**
18
25
  * The visible runs of a LaTeX source. `parse` is unified-latex's parser; a test hands in a tree
19
26
  * with the fields the walk tolerates being absent.
@@ -1 +1 @@
1
- {"version":3,"file":"paper-typography.d.ts","sourceRoot":"","sources":["../../eslint-rules/paper-typography.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAmB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAKD,+FAA+F;AAC/F,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACzB;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAWtD;AA4JD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,EACE,KAAoD,GACrD,GAAE;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACzC,GAAG,EAAE,CAQP;;;;;iCAgMmC,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;iCAVK,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;iCAVK,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;AAO/B,wBA6BE"}
1
+ {"version":3,"file":"paper-typography.d.ts","sourceRoot":"","sources":["../../eslint-rules/paper-typography.ts"],"names":[],"mappings":"AAiEA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAKD,+FAA+F;AAC/F,UAAU,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACzB;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAWtD;AA8ED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,EACE,KAAoD,GACrD,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAClD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAiB7B;AA+ID;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,EACE,KAAoD,GACrD,GAAE;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GACzC,GAAG,EAAE,CAQP;;;;;iCAiNmC,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;iCAVK,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;iCAVK,OAAO;;;;;;;;;8BAUvB,WAAW;;;;;;AAO/B,wBA6BE"}