chaffjs 0.17.0 → 0.19.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 (1236) hide show
  1. package/README.md +52 -56
  2. package/bin/chaff.js +17 -2
  3. package/dist/acronym-expansions.d.ts +26 -0
  4. package/dist/acronym-expansions.d.ts.map +1 -0
  5. package/dist/acronym-expansions.js +88 -0
  6. package/dist/acronym-expansions.js.map +1 -0
  7. package/dist/announced-count.d.ts +26 -0
  8. package/dist/announced-count.d.ts.map +1 -0
  9. package/dist/announced-count.js +138 -0
  10. package/dist/announced-count.js.map +1 -0
  11. package/dist/announced-list.d.ts +30 -0
  12. package/dist/announced-list.d.ts.map +1 -0
  13. package/dist/announced-list.js +95 -0
  14. package/dist/announced-list.js.map +1 -0
  15. package/dist/api.d.ts +168 -0
  16. package/dist/api.d.ts.map +1 -0
  17. package/dist/api.js +10 -0
  18. package/dist/api.js.map +1 -0
  19. package/dist/bare-url.d.ts +14 -0
  20. package/dist/bare-url.d.ts.map +1 -0
  21. package/dist/bare-url.js +28 -0
  22. package/dist/bare-url.js.map +1 -0
  23. package/dist/baseline.d.ts +5 -0
  24. package/dist/baseline.d.ts.map +1 -1
  25. package/dist/baseline.js +16 -1
  26. package/dist/baseline.js.map +1 -1
  27. package/dist/body-section.d.ts +7 -0
  28. package/dist/body-section.d.ts.map +1 -0
  29. package/dist/body-section.js +6 -0
  30. package/dist/body-section.js.map +1 -0
  31. package/dist/calendar-number.d.ts +2 -0
  32. package/dist/calendar-number.d.ts.map +1 -1
  33. package/dist/calendar-number.js +9 -2
  34. package/dist/calendar-number.js.map +1 -1
  35. package/dist/cli-args.d.ts +4 -0
  36. package/dist/cli-args.d.ts.map +1 -1
  37. package/dist/cli-args.js +5 -0
  38. package/dist/cli-args.js.map +1 -1
  39. package/dist/cli-text.d.ts +0 -1
  40. package/dist/cli-text.d.ts.map +1 -1
  41. package/dist/cli-text.js +14 -18
  42. package/dist/cli-text.js.map +1 -1
  43. package/dist/cli.d.ts.map +1 -1
  44. package/dist/cli.js +83 -84
  45. package/dist/cli.js.map +1 -1
  46. package/dist/closing-paragraph.d.ts +7 -0
  47. package/dist/closing-paragraph.d.ts.map +1 -0
  48. package/dist/closing-paragraph.js +22 -0
  49. package/dist/closing-paragraph.js.map +1 -0
  50. package/dist/commands/compare.d.ts +15 -0
  51. package/dist/commands/compare.d.ts.map +1 -0
  52. package/dist/commands/compare.js +64 -0
  53. package/dist/commands/compare.js.map +1 -0
  54. package/dist/commands/document-commands.d.ts +9 -0
  55. package/dist/commands/document-commands.d.ts.map +1 -0
  56. package/dist/commands/document-commands.js +17 -0
  57. package/dist/commands/document-commands.js.map +1 -0
  58. package/dist/commands/eval.d.ts.map +1 -1
  59. package/dist/commands/eval.js +19 -10
  60. package/dist/commands/eval.js.map +1 -1
  61. package/dist/commands/facts.d.ts +8 -0
  62. package/dist/commands/facts.d.ts.map +1 -0
  63. package/dist/commands/facts.js +30 -0
  64. package/dist/commands/facts.js.map +1 -0
  65. package/dist/commands/feedback.d.ts +15 -2
  66. package/dist/commands/feedback.d.ts.map +1 -1
  67. package/dist/commands/feedback.js +36 -6
  68. package/dist/commands/feedback.js.map +1 -1
  69. package/dist/commands/fix-plan.d.ts +13 -0
  70. package/dist/commands/fix-plan.d.ts.map +1 -0
  71. package/dist/commands/fix-plan.js +44 -0
  72. package/dist/commands/fix-plan.js.map +1 -0
  73. package/dist/commands/outline.d.ts +8 -0
  74. package/dist/commands/outline.d.ts.map +1 -0
  75. package/dist/commands/outline.js +43 -0
  76. package/dist/commands/outline.js.map +1 -0
  77. package/dist/commands/read-document.d.ts +14 -0
  78. package/dist/commands/read-document.d.ts.map +1 -0
  79. package/dist/commands/read-document.js +21 -0
  80. package/dist/commands/read-document.js.map +1 -0
  81. package/dist/commands/suppressions.d.ts +7 -0
  82. package/dist/commands/suppressions.d.ts.map +1 -0
  83. package/dist/commands/suppressions.js +9 -0
  84. package/dist/commands/suppressions.js.map +1 -0
  85. package/dist/commands/test.d.ts.map +1 -1
  86. package/dist/commands/test.js +3 -5
  87. package/dist/commands/test.js.map +1 -1
  88. package/dist/commands/tree.d.ts +13 -0
  89. package/dist/commands/tree.d.ts.map +1 -1
  90. package/dist/commands/tree.js +35 -5
  91. package/dist/commands/tree.js.map +1 -1
  92. package/dist/compare/atom.d.ts +31 -0
  93. package/dist/compare/atom.d.ts.map +1 -0
  94. package/dist/compare/atom.js +4 -0
  95. package/dist/compare/atom.js.map +1 -0
  96. package/dist/compare/clock-time.d.ts +8 -0
  97. package/dist/compare/clock-time.d.ts.map +1 -0
  98. package/dist/compare/clock-time.js +68 -0
  99. package/dist/compare/clock-time.js.map +1 -0
  100. package/dist/compare/distinct.d.ts +9 -0
  101. package/dist/compare/distinct.d.ts.map +1 -0
  102. package/dist/compare/distinct.js +12 -0
  103. package/dist/compare/distinct.js.map +1 -0
  104. package/dist/compare/extract.d.ts +15 -0
  105. package/dist/compare/extract.d.ts.map +1 -0
  106. package/dist/compare/extract.js +60 -0
  107. package/dist/compare/extract.js.map +1 -0
  108. package/dist/compare/fact-key.d.ts +17 -0
  109. package/dist/compare/fact-key.d.ts.map +1 -0
  110. package/dist/compare/fact-key.js +25 -0
  111. package/dist/compare/fact-key.js.map +1 -0
  112. package/dist/compare/fact-text.d.ts +28 -0
  113. package/dist/compare/fact-text.d.ts.map +1 -0
  114. package/dist/compare/fact-text.js +61 -0
  115. package/dist/compare/fact-text.js.map +1 -0
  116. package/dist/compare/facts-render.d.ts +17 -0
  117. package/dist/compare/facts-render.d.ts.map +1 -0
  118. package/dist/compare/facts-render.js +43 -0
  119. package/dist/compare/facts-render.js.map +1 -0
  120. package/dist/compare/facts-text.d.ts +15 -0
  121. package/dist/compare/facts-text.d.ts.map +1 -0
  122. package/dist/compare/facts-text.js +27 -0
  123. package/dist/compare/facts-text.js.map +1 -0
  124. package/dist/compare/markup-atoms.d.ts +11 -0
  125. package/dist/compare/markup-atoms.d.ts.map +1 -0
  126. package/dist/compare/markup-atoms.js +23 -0
  127. package/dist/compare/markup-atoms.js.map +1 -0
  128. package/dist/compare/match.d.ts +20 -0
  129. package/dist/compare/match.d.ts.map +1 -0
  130. package/dist/compare/match.js +84 -0
  131. package/dist/compare/match.js.map +1 -0
  132. package/dist/compare/outcome.d.ts +36 -0
  133. package/dist/compare/outcome.d.ts.map +1 -0
  134. package/dist/compare/outcome.js +46 -0
  135. package/dist/compare/outcome.js.map +1 -0
  136. package/dist/compare/proper-nouns.d.ts +19 -0
  137. package/dist/compare/proper-nouns.d.ts.map +1 -0
  138. package/dist/compare/proper-nouns.js +43 -0
  139. package/dist/compare/proper-nouns.js.map +1 -0
  140. package/dist/compare/render.d.ts +13 -0
  141. package/dist/compare/render.d.ts.map +1 -0
  142. package/dist/compare/render.js +64 -0
  143. package/dist/compare/render.js.map +1 -0
  144. package/dist/compare/spans.d.ts +9 -0
  145. package/dist/compare/spans.d.ts.map +1 -0
  146. package/dist/compare/spans.js +11 -0
  147. package/dist/compare/spans.js.map +1 -0
  148. package/dist/compare/text-atoms.d.ts +27 -0
  149. package/dist/compare/text-atoms.d.ts.map +1 -0
  150. package/dist/compare/text-atoms.js +69 -0
  151. package/dist/compare/text-atoms.js.map +1 -0
  152. package/dist/compare/text.d.ts +24 -0
  153. package/dist/compare/text.d.ts.map +1 -0
  154. package/dist/compare/text.js +90 -0
  155. package/dist/compare/text.js.map +1 -0
  156. package/dist/compare/tree-atoms.d.ts +20 -0
  157. package/dist/compare/tree-atoms.d.ts.map +1 -0
  158. package/dist/compare/tree-atoms.js +58 -0
  159. package/dist/compare/tree-atoms.js.map +1 -0
  160. package/dist/compare/written-names.d.ts +8 -0
  161. package/dist/compare/written-names.d.ts.map +1 -0
  162. package/dist/compare/written-names.js +24 -0
  163. package/dist/compare/written-names.js.map +1 -0
  164. package/dist/config/load.d.ts +23 -0
  165. package/dist/config/load.d.ts.map +1 -1
  166. package/dist/config/load.js +6 -0
  167. package/dist/config/load.js.map +1 -1
  168. package/dist/config/option-problems.d.ts +17 -0
  169. package/dist/config/option-problems.d.ts.map +1 -0
  170. package/dist/config/option-problems.js +59 -0
  171. package/dist/config/option-problems.js.map +1 -0
  172. package/dist/config/read.d.ts +4 -0
  173. package/dist/config/read.d.ts.map +1 -0
  174. package/dist/config/read.js +8 -0
  175. package/dist/config/read.js.map +1 -0
  176. package/dist/config/rule-problems.d.ts +2 -4
  177. package/dist/config/rule-problems.d.ts.map +1 -1
  178. package/dist/config/rule-problems.js +7 -1
  179. package/dist/config/rule-problems.js.map +1 -1
  180. package/dist/config/style.d.ts +21 -0
  181. package/dist/config/style.d.ts.map +1 -0
  182. package/dist/config/style.js +48 -0
  183. package/dist/config/style.js.map +1 -0
  184. package/dist/config/warnings.d.ts +6 -0
  185. package/dist/config/warnings.d.ts.map +1 -0
  186. package/dist/config/warnings.js +10 -0
  187. package/dist/config/warnings.js.map +1 -0
  188. package/dist/config/write.d.ts.map +1 -1
  189. package/dist/config/write.js +17 -4
  190. package/dist/config/write.js.map +1 -1
  191. package/dist/custom/bounded-match.d.ts +15 -0
  192. package/dist/custom/bounded-match.d.ts.map +1 -0
  193. package/dist/custom/bounded-match.js +43 -0
  194. package/dist/custom/bounded-match.js.map +1 -0
  195. package/dist/custom/load.d.ts +11 -0
  196. package/dist/custom/load.d.ts.map +1 -0
  197. package/dist/custom/load.js +19 -0
  198. package/dist/custom/load.js.map +1 -0
  199. package/dist/custom/module-path.d.ts +11 -0
  200. package/dist/custom/module-path.d.ts.map +1 -0
  201. package/dist/custom/module-path.js +15 -0
  202. package/dist/custom/module-path.js.map +1 -0
  203. package/dist/custom/parse.d.ts +84 -0
  204. package/dist/custom/parse.d.ts.map +1 -0
  205. package/dist/custom/parse.js +258 -0
  206. package/dist/custom/parse.js.map +1 -0
  207. package/dist/custom/problems.d.ts +8 -0
  208. package/dist/custom/problems.d.ts.map +1 -0
  209. package/dist/custom/problems.js +95 -0
  210. package/dist/custom/problems.js.map +1 -0
  211. package/dist/custom/regex-safety.d.ts +11 -0
  212. package/dist/custom/regex-safety.d.ts.map +1 -0
  213. package/dist/custom/regex-safety.js +110 -0
  214. package/dist/custom/regex-safety.js.map +1 -0
  215. package/dist/custom/token-pattern.d.ts +8 -0
  216. package/dist/custom/token-pattern.d.ts.map +1 -0
  217. package/dist/custom/token-pattern.js +75 -0
  218. package/dist/custom/token-pattern.js.map +1 -0
  219. package/dist/detect-language.js +1 -1
  220. package/dist/detect.d.ts.map +1 -1
  221. package/dist/detect.js +30 -2
  222. package/dist/detect.js.map +1 -1
  223. package/dist/detectors/acronym-context.d.ts +2 -0
  224. package/dist/detectors/acronym-context.d.ts.map +1 -1
  225. package/dist/detectors/acronym-context.js +12 -4
  226. package/dist/detectors/acronym-context.js.map +1 -1
  227. package/dist/detectors/ai-phrasing.d.ts +23 -0
  228. package/dist/detectors/ai-phrasing.d.ts.map +1 -0
  229. package/dist/detectors/ai-phrasing.js +116 -0
  230. package/dist/detectors/ai-phrasing.js.map +1 -0
  231. package/dist/detectors/announced-count.d.ts +4 -0
  232. package/dist/detectors/announced-count.d.ts.map +1 -0
  233. package/dist/detectors/announced-count.js +20 -0
  234. package/dist/detectors/announced-count.js.map +1 -0
  235. package/dist/detectors/bold-label.d.ts +10 -0
  236. package/dist/detectors/bold-label.d.ts.map +1 -0
  237. package/dist/detectors/bold-label.js +44 -0
  238. package/dist/detectors/bold-label.js.map +1 -0
  239. package/dist/detectors/broken-link.d.ts +17 -0
  240. package/dist/detectors/broken-link.d.ts.map +1 -0
  241. package/dist/detectors/broken-link.js +66 -0
  242. package/dist/detectors/broken-link.js.map +1 -0
  243. package/dist/detectors/cited-name.d.ts.map +1 -1
  244. package/dist/detectors/cited-name.js +4 -4
  245. package/dist/detectors/cited-name.js.map +1 -1
  246. package/dist/detectors/cited-title.d.ts +11 -0
  247. package/dist/detectors/cited-title.d.ts.map +1 -0
  248. package/dist/detectors/cited-title.js +75 -0
  249. package/dist/detectors/cited-title.js.map +1 -0
  250. package/dist/detectors/concrete-evidence.d.ts +1 -1
  251. package/dist/detectors/concrete-evidence.d.ts.map +1 -1
  252. package/dist/detectors/concrete-evidence.js +2 -1
  253. package/dist/detectors/concrete-evidence.js.map +1 -1
  254. package/dist/detectors/contrast-frame.d.ts +17 -0
  255. package/dist/detectors/contrast-frame.d.ts.map +1 -0
  256. package/dist/detectors/contrast-frame.js +32 -0
  257. package/dist/detectors/contrast-frame.js.map +1 -0
  258. package/dist/detectors/custom.d.ts +8 -0
  259. package/dist/detectors/custom.d.ts.map +1 -0
  260. package/dist/detectors/custom.js +71 -0
  261. package/dist/detectors/custom.js.map +1 -0
  262. package/dist/detectors/dangling-figure.d.ts +7 -0
  263. package/dist/detectors/dangling-figure.d.ts.map +1 -0
  264. package/dist/detectors/dangling-figure.js +20 -0
  265. package/dist/detectors/dangling-figure.js.map +1 -0
  266. package/dist/detectors/definition-use.d.ts +8 -0
  267. package/dist/detectors/definition-use.d.ts.map +1 -0
  268. package/dist/detectors/definition-use.js +32 -0
  269. package/dist/detectors/definition-use.js.map +1 -0
  270. package/dist/detectors/doubled-punctuation.d.ts +9 -0
  271. package/dist/detectors/doubled-punctuation.d.ts.map +1 -0
  272. package/dist/detectors/doubled-punctuation.js +35 -0
  273. package/dist/detectors/doubled-punctuation.js.map +1 -0
  274. package/dist/detectors/doubled-word.d.ts +5 -0
  275. package/dist/detectors/doubled-word.d.ts.map +1 -1
  276. package/dist/detectors/doubled-word.js +24 -11
  277. package/dist/detectors/doubled-word.js.map +1 -1
  278. package/dist/detectors/duplicate-heading.d.ts +14 -0
  279. package/dist/detectors/duplicate-heading.d.ts.map +1 -0
  280. package/dist/detectors/duplicate-heading.js +39 -0
  281. package/dist/detectors/duplicate-heading.js.map +1 -0
  282. package/dist/detectors/empty-section.d.ts +8 -0
  283. package/dist/detectors/empty-section.d.ts.map +1 -0
  284. package/dist/detectors/empty-section.js +16 -0
  285. package/dist/detectors/empty-section.js.map +1 -0
  286. package/dist/detectors/enumerated-runs.d.ts +1 -1
  287. package/dist/detectors/enumerated-runs.d.ts.map +1 -1
  288. package/dist/detectors/enumerated-runs.js +15 -4
  289. package/dist/detectors/enumerated-runs.js.map +1 -1
  290. package/dist/detectors/fullwidth-alnum.d.ts +24 -0
  291. package/dist/detectors/fullwidth-alnum.d.ts.map +1 -0
  292. package/dist/detectors/fullwidth-alnum.js +88 -0
  293. package/dist/detectors/fullwidth-alnum.js.map +1 -0
  294. package/dist/detectors/gram-furniture.d.ts +6 -0
  295. package/dist/detectors/gram-furniture.d.ts.map +1 -0
  296. package/dist/detectors/gram-furniture.js +21 -0
  297. package/dist/detectors/gram-furniture.js.map +1 -0
  298. package/dist/detectors/gram-place.d.ts +2 -0
  299. package/dist/detectors/gram-place.d.ts.map +1 -1
  300. package/dist/detectors/gram-place.js +9 -7
  301. package/dist/detectors/gram-place.js.map +1 -1
  302. package/dist/detectors/gram-windows.d.ts +9 -0
  303. package/dist/detectors/gram-windows.d.ts.map +1 -0
  304. package/dist/detectors/gram-windows.js +27 -0
  305. package/dist/detectors/gram-windows.js.map +1 -0
  306. package/dist/detectors/hankaku-kana.d.ts +9 -0
  307. package/dist/detectors/hankaku-kana.d.ts.map +1 -0
  308. package/dist/detectors/hankaku-kana.js +27 -0
  309. package/dist/detectors/hankaku-kana.js.map +1 -0
  310. package/dist/detectors/heading-case.d.ts +2 -0
  311. package/dist/detectors/heading-case.d.ts.map +1 -1
  312. package/dist/detectors/heading-case.js +29 -2
  313. package/dist/detectors/heading-case.js.map +1 -1
  314. package/dist/detectors/heading-code-words.d.ts +6 -0
  315. package/dist/detectors/heading-code-words.d.ts.map +1 -0
  316. package/dist/detectors/heading-code-words.js +29 -0
  317. package/dist/detectors/heading-code-words.js.map +1 -0
  318. package/dist/detectors/heading-echo.d.ts.map +1 -1
  319. package/dist/detectors/heading-echo.js +7 -4
  320. package/dist/detectors/heading-echo.js.map +1 -1
  321. package/dist/detectors/heading-level-skip.d.ts +12 -0
  322. package/dist/detectors/heading-level-skip.d.ts.map +1 -0
  323. package/dist/detectors/heading-level-skip.js +11 -0
  324. package/dist/detectors/heading-level-skip.js.map +1 -0
  325. package/dist/detectors/image-alt-text.d.ts +3 -0
  326. package/dist/detectors/image-alt-text.d.ts.map +1 -0
  327. package/dist/detectors/image-alt-text.js +9 -0
  328. package/dist/detectors/image-alt-text.js.map +1 -0
  329. package/dist/detectors/index.d.ts.map +1 -1
  330. package/dist/detectors/index.js +70 -1
  331. package/dist/detectors/index.js.map +1 -1
  332. package/dist/detectors/invisible-character.d.ts +20 -0
  333. package/dist/detectors/invisible-character.d.ts.map +1 -0
  334. package/dist/detectors/invisible-character.js +143 -0
  335. package/dist/detectors/invisible-character.js.map +1 -0
  336. package/dist/detectors/kutoten-consistency.d.ts +24 -0
  337. package/dist/detectors/kutoten-consistency.d.ts.map +1 -0
  338. package/dist/detectors/kutoten-consistency.js +77 -0
  339. package/dist/detectors/kutoten-consistency.js.map +1 -0
  340. package/dist/detectors/lead-in.d.ts +1 -0
  341. package/dist/detectors/lead-in.d.ts.map +1 -1
  342. package/dist/detectors/lead-in.js +2 -1
  343. package/dist/detectors/lead-in.js.map +1 -1
  344. package/dist/detectors/lexicon-match.d.ts +14 -1
  345. package/dist/detectors/lexicon-match.d.ts.map +1 -1
  346. package/dist/detectors/lexicon-match.js +32 -2
  347. package/dist/detectors/lexicon-match.js.map +1 -1
  348. package/dist/detectors/lexicon.d.ts +6 -1
  349. package/dist/detectors/lexicon.d.ts.map +1 -1
  350. package/dist/detectors/lexicon.js +31 -13
  351. package/dist/detectors/lexicon.js.map +1 -1
  352. package/dist/detectors/list-item.d.ts +45 -0
  353. package/dist/detectors/list-item.d.ts.map +1 -0
  354. package/dist/detectors/list-item.js +88 -0
  355. package/dist/detectors/list-item.js.map +1 -0
  356. package/dist/detectors/list-items.d.ts +31 -0
  357. package/dist/detectors/list-items.d.ts.map +1 -0
  358. package/dist/detectors/list-items.js +113 -0
  359. package/dist/detectors/list-items.js.map +1 -0
  360. package/dist/detectors/list-lead-in.d.ts +7 -0
  361. package/dist/detectors/list-lead-in.d.ts.map +1 -0
  362. package/dist/detectors/list-lead-in.js +28 -0
  363. package/dist/detectors/list-lead-in.js.map +1 -0
  364. package/dist/detectors/list-sentence.d.ts +67 -0
  365. package/dist/detectors/list-sentence.d.ts.map +1 -0
  366. package/dist/detectors/list-sentence.js +130 -0
  367. package/dist/detectors/list-sentence.js.map +1 -0
  368. package/dist/detectors/list-view.d.ts +34 -0
  369. package/dist/detectors/list-view.d.ts.map +1 -0
  370. package/dist/detectors/list-view.js +137 -0
  371. package/dist/detectors/list-view.js.map +1 -0
  372. package/dist/detectors/long-vowel.d.ts +7 -0
  373. package/dist/detectors/long-vowel.d.ts.map +1 -0
  374. package/dist/detectors/long-vowel.js +71 -0
  375. package/dist/detectors/long-vowel.js.map +1 -0
  376. package/dist/detectors/markup-finding.d.ts +8 -0
  377. package/dist/detectors/markup-finding.d.ts.map +1 -0
  378. package/dist/detectors/markup-finding.js +29 -0
  379. package/dist/detectors/markup-finding.js.map +1 -0
  380. package/dist/detectors/modal-conflict.d.ts +4 -0
  381. package/dist/detectors/modal-conflict.d.ts.map +1 -0
  382. package/dist/detectors/modal-conflict.js +22 -0
  383. package/dist/detectors/modal-conflict.js.map +1 -0
  384. package/dist/detectors/name-numeral.d.ts +1 -1
  385. package/dist/detectors/name-numeral.d.ts.map +1 -1
  386. package/dist/detectors/name-numeral.js +2 -7
  387. package/dist/detectors/name-numeral.js.map +1 -1
  388. package/dist/detectors/name-variant.d.ts +4 -0
  389. package/dist/detectors/name-variant.d.ts.map +1 -0
  390. package/dist/detectors/name-variant.js +13 -0
  391. package/dist/detectors/name-variant.js.map +1 -0
  392. package/dist/detectors/nominalization.d.ts +11 -0
  393. package/dist/detectors/nominalization.d.ts.map +1 -0
  394. package/dist/detectors/nominalization.js +56 -0
  395. package/dist/detectors/nominalization.js.map +1 -0
  396. package/dist/detectors/orthography.d.ts.map +1 -1
  397. package/dist/detectors/orthography.js +72 -37
  398. package/dist/detectors/orthography.js.map +1 -1
  399. package/dist/detectors/outside-announced-list.d.ts +4 -0
  400. package/dist/detectors/outside-announced-list.d.ts.map +1 -0
  401. package/dist/detectors/outside-announced-list.js +24 -0
  402. package/dist/detectors/outside-announced-list.js.map +1 -0
  403. package/dist/detectors/oxford-comma.d.ts +7 -1
  404. package/dist/detectors/oxford-comma.d.ts.map +1 -1
  405. package/dist/detectors/oxford-comma.js +136 -229
  406. package/dist/detectors/oxford-comma.js.map +1 -1
  407. package/dist/detectors/phrase-match.d.ts +4 -1
  408. package/dist/detectors/phrase-match.d.ts.map +1 -1
  409. package/dist/detectors/phrase-match.js +26 -7
  410. package/dist/detectors/phrase-match.js.map +1 -1
  411. package/dist/detectors/place-run.d.ts.map +1 -1
  412. package/dist/detectors/place-run.js +10 -6
  413. package/dist/detectors/place-run.js.map +1 -1
  414. package/dist/detectors/placeholder-text.d.ts +9 -0
  415. package/dist/detectors/placeholder-text.d.ts.map +1 -0
  416. package/dist/detectors/placeholder-text.js +18 -0
  417. package/dist/detectors/placeholder-text.js.map +1 -0
  418. package/dist/detectors/quote-around.d.ts +3 -0
  419. package/dist/detectors/quote-around.d.ts.map +1 -0
  420. package/dist/detectors/quote-around.js +8 -0
  421. package/dist/detectors/quote-around.js.map +1 -0
  422. package/dist/detectors/ra-nuki.d.ts +9 -0
  423. package/dist/detectors/ra-nuki.d.ts.map +1 -0
  424. package/dist/detectors/ra-nuki.js +30 -0
  425. package/dist/detectors/ra-nuki.js.map +1 -0
  426. package/dist/detectors/register.d.ts +11 -3
  427. package/dist/detectors/register.d.ts.map +1 -1
  428. package/dist/detectors/register.js +28 -9
  429. package/dist/detectors/register.js.map +1 -1
  430. package/dist/detectors/requirement-modal.d.ts +5 -0
  431. package/dist/detectors/requirement-modal.d.ts.map +1 -0
  432. package/dist/detectors/requirement-modal.js +54 -0
  433. package/dist/detectors/requirement-modal.js.map +1 -0
  434. package/dist/detectors/requirement-smell.d.ts +4 -0
  435. package/dist/detectors/requirement-smell.d.ts.map +1 -0
  436. package/dist/detectors/requirement-smell.js +41 -0
  437. package/dist/detectors/requirement-smell.js.map +1 -0
  438. package/dist/detectors/roman-numeral.d.ts +2 -0
  439. package/dist/detectors/roman-numeral.d.ts.map +1 -1
  440. package/dist/detectors/roman-numeral.js +2 -0
  441. package/dist/detectors/roman-numeral.js.map +1 -1
  442. package/dist/detectors/sentence-ending.d.ts +17 -1
  443. package/dist/detectors/sentence-ending.d.ts.map +1 -1
  444. package/dist/detectors/sentence-ending.js +13 -7
  445. package/dist/detectors/sentence-ending.js.map +1 -1
  446. package/dist/detectors/sentence-length.d.ts.map +1 -1
  447. package/dist/detectors/sentence-length.js +13 -4
  448. package/dist/detectors/sentence-length.js.map +1 -1
  449. package/dist/detectors/signals.d.ts +8 -0
  450. package/dist/detectors/signals.d.ts.map +1 -1
  451. package/dist/detectors/signals.js +67 -46
  452. package/dist/detectors/signals.js.map +1 -1
  453. package/dist/detectors/space-before-punctuation.d.ts +8 -0
  454. package/dist/detectors/space-before-punctuation.d.ts.map +1 -0
  455. package/dist/detectors/space-before-punctuation.js +24 -0
  456. package/dist/detectors/space-before-punctuation.js.map +1 -0
  457. package/dist/detectors/spelling-variety.d.ts +23 -0
  458. package/dist/detectors/spelling-variety.d.ts.map +1 -0
  459. package/dist/detectors/spelling-variety.js +59 -0
  460. package/dist/detectors/spelling-variety.js.map +1 -0
  461. package/dist/detectors/structure-tree.d.ts +6 -0
  462. package/dist/detectors/structure-tree.d.ts.map +1 -1
  463. package/dist/detectors/structure-tree.js +39 -1
  464. package/dist/detectors/structure-tree.js.map +1 -1
  465. package/dist/detectors/structure.d.ts +1 -3
  466. package/dist/detectors/structure.d.ts.map +1 -1
  467. package/dist/detectors/structure.js +19 -6
  468. package/dist/detectors/structure.js.map +1 -1
  469. package/dist/detectors/superlative-comparison.d.ts +20 -0
  470. package/dist/detectors/superlative-comparison.d.ts.map +1 -0
  471. package/dist/detectors/superlative-comparison.js +32 -0
  472. package/dist/detectors/superlative-comparison.js.map +1 -0
  473. package/dist/detectors/superlative-name.d.ts.map +1 -1
  474. package/dist/detectors/superlative-name.js +8 -5
  475. package/dist/detectors/superlative-name.js.map +1 -1
  476. package/dist/detectors/superlative-scope.d.ts.map +1 -1
  477. package/dist/detectors/superlative-scope.js +9 -4
  478. package/dist/detectors/superlative-scope.js.map +1 -1
  479. package/dist/detectors/token-column.d.ts +46 -0
  480. package/dist/detectors/token-column.d.ts.map +1 -0
  481. package/dist/detectors/token-column.js +95 -0
  482. package/dist/detectors/token-column.js.map +1 -0
  483. package/dist/detectors/unbalanced-bracket.d.ts +22 -0
  484. package/dist/detectors/unbalanced-bracket.d.ts.map +1 -0
  485. package/dist/detectors/unbalanced-bracket.js +119 -0
  486. package/dist/detectors/unbalanced-bracket.js.map +1 -0
  487. package/dist/detectors/url-run-on.d.ts +9 -0
  488. package/dist/detectors/url-run-on.d.ts.map +1 -0
  489. package/dist/detectors/url-run-on.js +24 -0
  490. package/dist/detectors/url-run-on.js.map +1 -0
  491. package/dist/detectors/vague-figure-pointer.d.ts +10 -0
  492. package/dist/detectors/vague-figure-pointer.d.ts.map +1 -0
  493. package/dist/detectors/vague-figure-pointer.js +46 -0
  494. package/dist/detectors/vague-figure-pointer.js.map +1 -0
  495. package/dist/detectors/word-list.d.ts +2 -0
  496. package/dist/detectors/word-list.d.ts.map +1 -1
  497. package/dist/detectors/word-list.js +4 -1
  498. package/dist/detectors/word-list.js.map +1 -1
  499. package/dist/document-sections.d.ts +13 -0
  500. package/dist/document-sections.d.ts.map +1 -0
  501. package/dist/document-sections.js +32 -0
  502. package/dist/document-sections.js.map +1 -0
  503. package/dist/document.d.ts +20 -7
  504. package/dist/document.d.ts.map +1 -1
  505. package/dist/document.js +140 -125
  506. package/dist/document.js.map +1 -1
  507. package/dist/email-parts.d.ts +28 -0
  508. package/dist/email-parts.d.ts.map +1 -0
  509. package/dist/email-parts.js +230 -0
  510. package/dist/email-parts.js.map +1 -0
  511. package/dist/eval.d.ts +2 -1
  512. package/dist/eval.d.ts.map +1 -1
  513. package/dist/eval.js +16 -4
  514. package/dist/eval.js.map +1 -1
  515. package/dist/extension/document-view.d.ts +7 -0
  516. package/dist/extension/document-view.d.ts.map +1 -0
  517. package/dist/extension/document-view.js +91 -0
  518. package/dist/extension/document-view.js.map +1 -0
  519. package/dist/extension/failure-text.d.ts +5 -0
  520. package/dist/extension/failure-text.d.ts.map +1 -0
  521. package/dist/extension/failure-text.js +33 -0
  522. package/dist/extension/failure-text.js.map +1 -0
  523. package/dist/extension/import-default.d.ts +7 -0
  524. package/dist/extension/import-default.d.ts.map +1 -0
  525. package/dist/extension/import-default.js +21 -0
  526. package/dist/extension/import-default.js.map +1 -0
  527. package/dist/extension/load.d.ts +28 -0
  528. package/dist/extension/load.d.ts.map +1 -0
  529. package/dist/extension/load.js +51 -0
  530. package/dist/extension/load.js.map +1 -0
  531. package/dist/extension/module-detector.d.ts +21 -0
  532. package/dist/extension/module-detector.d.ts.map +1 -0
  533. package/dist/extension/module-detector.js +49 -0
  534. package/dist/extension/module-detector.js.map +1 -0
  535. package/dist/extension/plugin-load.d.ts +9 -0
  536. package/dist/extension/plugin-load.d.ts.map +1 -0
  537. package/dist/extension/plugin-load.js +68 -0
  538. package/dist/extension/plugin-load.js.map +1 -0
  539. package/dist/extension/plugin-name.d.ts +8 -0
  540. package/dist/extension/plugin-name.d.ts.map +1 -0
  541. package/dist/extension/plugin-name.js +22 -0
  542. package/dist/extension/plugin-name.js.map +1 -0
  543. package/dist/extension/plugin-parse.d.ts +41 -0
  544. package/dist/extension/plugin-parse.d.ts.map +1 -0
  545. package/dist/extension/plugin-parse.js +156 -0
  546. package/dist/extension/plugin-parse.js.map +1 -0
  547. package/dist/extension/problem-text.d.ts +5 -0
  548. package/dist/extension/problem-text.d.ts.map +1 -0
  549. package/dist/extension/problem-text.js +74 -0
  550. package/dist/extension/problem-text.js.map +1 -0
  551. package/dist/extension/real-path.d.ts +3 -0
  552. package/dist/extension/real-path.d.ts.map +1 -0
  553. package/dist/extension/real-path.js +8 -0
  554. package/dist/extension/real-path.js.map +1 -0
  555. package/dist/extension/returned-findings.d.ts +17 -0
  556. package/dist/extension/returned-findings.d.ts.map +1 -0
  557. package/dist/extension/returned-findings.js +48 -0
  558. package/dist/extension/returned-findings.js.map +1 -0
  559. package/dist/extension/rule-export.d.ts +13 -0
  560. package/dist/extension/rule-export.d.ts.map +1 -0
  561. package/dist/extension/rule-export.js +16 -0
  562. package/dist/extension/rule-export.js.map +1 -0
  563. package/dist/feedback/draft.d.ts +2 -0
  564. package/dist/feedback/draft.d.ts.map +1 -1
  565. package/dist/feedback/draft.js +3 -0
  566. package/dist/feedback/draft.js.map +1 -1
  567. package/dist/figure-references.d.ts +39 -0
  568. package/dist/figure-references.d.ts.map +1 -0
  569. package/dist/figure-references.js +113 -0
  570. package/dist/figure-references.js.map +1 -0
  571. package/dist/files.d.ts +2 -0
  572. package/dist/files.d.ts.map +1 -1
  573. package/dist/files.js +4 -0
  574. package/dist/files.js.map +1 -1
  575. package/dist/finding-order.d.ts +9 -0
  576. package/dist/finding-order.d.ts.map +1 -0
  577. package/dist/finding-order.js +3 -0
  578. package/dist/finding-order.js.map +1 -0
  579. package/dist/fix-plan/mode.d.ts +21 -0
  580. package/dist/fix-plan/mode.d.ts.map +1 -0
  581. package/dist/fix-plan/mode.js +16 -0
  582. package/dist/fix-plan/mode.js.map +1 -0
  583. package/dist/fix-plan/plan.d.ts +77 -0
  584. package/dist/fix-plan/plan.d.ts.map +1 -0
  585. package/dist/fix-plan/plan.js +100 -0
  586. package/dist/fix-plan/plan.js.map +1 -0
  587. package/dist/fix-plan/render.d.ts +6 -0
  588. package/dist/fix-plan/render.d.ts.map +1 -0
  589. package/dist/fix-plan/render.js +101 -0
  590. package/dist/fix-plan/render.js.map +1 -0
  591. package/dist/fix-plan/text.d.ts +35 -0
  592. package/dist/fix-plan/text.d.ts.map +1 -0
  593. package/dist/fix-plan/text.js +95 -0
  594. package/dist/fix-plan/text.js.map +1 -0
  595. package/dist/heading-label.d.ts +22 -0
  596. package/dist/heading-label.d.ts.map +1 -0
  597. package/dist/heading-label.js +50 -0
  598. package/dist/heading-label.js.map +1 -0
  599. package/dist/in-page-nav.d.ts +4 -1
  600. package/dist/in-page-nav.d.ts.map +1 -1
  601. package/dist/in-page-nav.js +53 -18
  602. package/dist/in-page-nav.js.map +1 -1
  603. package/dist/joined-view.d.ts.map +1 -1
  604. package/dist/joined-view.js +1 -0
  605. package/dist/joined-view.js.map +1 -1
  606. package/dist/language-sample.d.ts +2 -0
  607. package/dist/language-sample.d.ts.map +1 -0
  608. package/dist/language-sample.js +41 -0
  609. package/dist/language-sample.js.map +1 -0
  610. package/dist/levels.d.ts +5 -1
  611. package/dist/levels.d.ts.map +1 -1
  612. package/dist/levels.js +9 -0
  613. package/dist/levels.js.map +1 -1
  614. package/dist/line-paragraphs.d.ts +8 -0
  615. package/dist/line-paragraphs.d.ts.map +1 -1
  616. package/dist/line-paragraphs.js +33 -10
  617. package/dist/line-paragraphs.js.map +1 -1
  618. package/dist/link-line.d.ts +8 -0
  619. package/dist/link-line.d.ts.map +1 -0
  620. package/dist/link-line.js +12 -0
  621. package/dist/link-line.js.map +1 -0
  622. package/dist/long-vowel.d.ts +38 -0
  623. package/dist/long-vowel.d.ts.map +1 -0
  624. package/dist/long-vowel.js +78 -0
  625. package/dist/long-vowel.js.map +1 -0
  626. package/dist/markdown-node.d.ts +19 -0
  627. package/dist/markdown-node.d.ts.map +1 -0
  628. package/dist/markdown-node.js +6 -0
  629. package/dist/markdown-node.js.map +1 -0
  630. package/dist/markdown-read.d.ts +17 -0
  631. package/dist/markdown-read.d.ts.map +1 -0
  632. package/dist/markdown-read.js +37 -0
  633. package/dist/markdown-read.js.map +1 -0
  634. package/dist/markup.d.ts +22 -0
  635. package/dist/markup.d.ts.map +1 -0
  636. package/dist/markup.js +182 -0
  637. package/dist/markup.js.map +1 -0
  638. package/dist/mask.js +8 -5
  639. package/dist/mask.js.map +1 -1
  640. package/dist/name-variants.d.ts +25 -0
  641. package/dist/name-variants.d.ts.map +1 -0
  642. package/dist/name-variants.js +181 -0
  643. package/dist/name-variants.js.map +1 -0
  644. package/dist/node-version.d.ts +7 -0
  645. package/dist/node-version.d.ts.map +1 -0
  646. package/dist/node-version.js +19 -0
  647. package/dist/node-version.js.map +1 -0
  648. package/dist/not-run.d.ts +14 -0
  649. package/dist/not-run.d.ts.map +1 -0
  650. package/dist/not-run.js +12 -0
  651. package/dist/not-run.js.map +1 -0
  652. package/dist/number-name.d.ts +21 -5
  653. package/dist/number-name.d.ts.map +1 -1
  654. package/dist/number-name.js +119 -17
  655. package/dist/number-name.js.map +1 -1
  656. package/dist/orthography.d.ts +10 -1
  657. package/dist/orthography.d.ts.map +1 -1
  658. package/dist/orthography.js +42 -16
  659. package/dist/orthography.js.map +1 -1
  660. package/dist/outline/render.d.ts +18 -0
  661. package/dist/outline/render.d.ts.map +1 -0
  662. package/dist/outline/render.js +60 -0
  663. package/dist/outline/render.js.map +1 -0
  664. package/dist/outline/shape.d.ts +26 -0
  665. package/dist/outline/shape.d.ts.map +1 -0
  666. package/dist/outline/shape.js +37 -0
  667. package/dist/outline/shape.js.map +1 -0
  668. package/dist/outline/text.d.ts +21 -0
  669. package/dist/outline/text.d.ts.map +1 -0
  670. package/dist/outline/text.js +30 -0
  671. package/dist/outline/text.js.map +1 -0
  672. package/dist/page-furniture.d.ts +5 -2
  673. package/dist/page-furniture.d.ts.map +1 -1
  674. package/dist/page-furniture.js +8 -2
  675. package/dist/page-furniture.js.map +1 -1
  676. package/dist/plain-source.d.ts +1 -0
  677. package/dist/plain-source.d.ts.map +1 -1
  678. package/dist/plain-source.js +2 -1
  679. package/dist/plain-source.js.map +1 -1
  680. package/dist/plugin.d.ts +138 -1
  681. package/dist/plugin.d.ts.map +1 -1
  682. package/dist/profile/for-file.d.ts.map +1 -1
  683. package/dist/profile/for-file.js +3 -1
  684. package/dist/profile/for-file.js.map +1 -1
  685. package/dist/quoted-span.d.ts.map +1 -1
  686. package/dist/quoted-span.js +8 -3
  687. package/dist/quoted-span.js.map +1 -1
  688. package/dist/reasons.d.ts +4 -0
  689. package/dist/reasons.d.ts.map +1 -1
  690. package/dist/reasons.js +8 -0
  691. package/dist/reasons.js.map +1 -1
  692. package/dist/reference-lists.d.ts +3 -0
  693. package/dist/reference-lists.d.ts.map +1 -0
  694. package/dist/reference-lists.js +75 -0
  695. package/dist/reference-lists.js.map +1 -0
  696. package/dist/render/compact.d.ts +3 -1
  697. package/dist/render/compact.d.ts.map +1 -1
  698. package/dist/render/compact.js +8 -2
  699. package/dist/render/compact.js.map +1 -1
  700. package/dist/render/explain.d.ts +9 -1
  701. package/dist/render/explain.d.ts.map +1 -1
  702. package/dist/render/explain.js +54 -13
  703. package/dist/render/explain.js.map +1 -1
  704. package/dist/render/friendly.d.ts.map +1 -1
  705. package/dist/render/friendly.js +19 -9
  706. package/dist/render/friendly.js.map +1 -1
  707. package/dist/render/options.d.ts +7 -0
  708. package/dist/render/options.d.ts.map +1 -0
  709. package/dist/render/options.js +50 -0
  710. package/dist/render/options.js.map +1 -0
  711. package/dist/render/rules-json.d.ts +4 -1
  712. package/dist/render/rules-json.d.ts.map +1 -1
  713. package/dist/render/rules-json.js +110 -16
  714. package/dist/render/rules-json.js.map +1 -1
  715. package/dist/render/rules-table.d.ts +4 -0
  716. package/dist/render/rules-table.d.ts.map +1 -0
  717. package/dist/render/rules-table.js +70 -0
  718. package/dist/render/rules-table.js.map +1 -0
  719. package/dist/render/sarif.js +4 -4
  720. package/dist/render/sarif.js.map +1 -1
  721. package/dist/render/semantic.js +3 -3
  722. package/dist/render/semantic.js.map +1 -1
  723. package/dist/render/severity-name.d.ts +6 -0
  724. package/dist/render/severity-name.d.ts.map +1 -0
  725. package/dist/render/severity-name.js +7 -0
  726. package/dist/render/severity-name.js.map +1 -0
  727. package/dist/render/suppressions.d.ts +3 -0
  728. package/dist/render/suppressions.d.ts.map +1 -1
  729. package/dist/render/suppressions.js +20 -1
  730. package/dist/render/suppressions.js.map +1 -1
  731. package/dist/render/text.d.ts +7 -2
  732. package/dist/render/text.d.ts.map +1 -1
  733. package/dist/render/text.js +15 -4
  734. package/dist/render/text.js.map +1 -1
  735. package/dist/resolve-genre.d.ts +1 -1
  736. package/dist/resolve-genre.d.ts.map +1 -1
  737. package/dist/resolve-genre.js +4 -1
  738. package/dist/resolve-genre.js.map +1 -1
  739. package/dist/rule-genres.d.ts +24 -0
  740. package/dist/rule-genres.d.ts.map +1 -0
  741. package/dist/rule-genres.js +11 -0
  742. package/dist/rule-genres.js.map +1 -0
  743. package/dist/rule-guide.d.ts +73 -0
  744. package/dist/rule-guide.d.ts.map +1 -0
  745. package/dist/rule-guide.js +95 -0
  746. package/dist/rule-guide.js.map +1 -0
  747. package/dist/rule-load.d.ts.map +1 -1
  748. package/dist/rule-load.js +87 -33
  749. package/dist/rule-load.js.map +1 -1
  750. package/dist/rule-options.d.ts +50 -0
  751. package/dist/rule-options.d.ts.map +1 -0
  752. package/dist/rule-options.js +106 -0
  753. package/dist/rule-options.js.map +1 -0
  754. package/dist/run-semantic.d.ts.map +1 -1
  755. package/dist/run-semantic.js +2 -1
  756. package/dist/run-semantic.js.map +1 -1
  757. package/dist/run.d.ts +18 -1
  758. package/dist/run.d.ts.map +1 -1
  759. package/dist/run.js +80 -19
  760. package/dist/run.js.map +1 -1
  761. package/dist/sentence-shape.d.ts.map +1 -1
  762. package/dist/sentence-shape.js +4 -4
  763. package/dist/sentence-shape.js.map +1 -1
  764. package/dist/setting-problems.d.ts +2 -1
  765. package/dist/setting-problems.d.ts.map +1 -1
  766. package/dist/setting-problems.js +8 -1
  767. package/dist/setting-problems.js.map +1 -1
  768. package/dist/spacing-minority.d.ts +16 -0
  769. package/dist/spacing-minority.d.ts.map +1 -0
  770. package/dist/spacing-minority.js +23 -0
  771. package/dist/spacing-minority.js.map +1 -0
  772. package/dist/span-cut.d.ts +6 -0
  773. package/dist/span-cut.d.ts.map +1 -0
  774. package/dist/span-cut.js +22 -0
  775. package/dist/span-cut.js.map +1 -0
  776. package/dist/stet-block.d.ts +5 -0
  777. package/dist/stet-block.d.ts.map +1 -0
  778. package/dist/stet-block.js +59 -0
  779. package/dist/stet-block.js.map +1 -0
  780. package/dist/stet.d.ts +4 -0
  781. package/dist/stet.d.ts.map +1 -1
  782. package/dist/stet.js +31 -11
  783. package/dist/stet.js.map +1 -1
  784. package/dist/structure/aside-depth.d.ts +21 -0
  785. package/dist/structure/aside-depth.d.ts.map +1 -0
  786. package/dist/structure/aside-depth.js +65 -0
  787. package/dist/structure/aside-depth.js.map +1 -0
  788. package/dist/structure/build.d.ts +5 -1
  789. package/dist/structure/build.d.ts.map +1 -1
  790. package/dist/structure/build.js +29 -17
  791. package/dist/structure/build.js.map +1 -1
  792. package/dist/structure/closed-pairs.d.ts +8 -0
  793. package/dist/structure/closed-pairs.d.ts.map +1 -0
  794. package/dist/structure/closed-pairs.js +22 -0
  795. package/dist/structure/closed-pairs.js.map +1 -0
  796. package/dist/structure/date-range.d.ts +31 -0
  797. package/dist/structure/date-range.d.ts.map +1 -0
  798. package/dist/structure/date-range.js +77 -0
  799. package/dist/structure/date-range.js.map +1 -0
  800. package/dist/structure/definition-use.d.ts +32 -0
  801. package/dist/structure/definition-use.d.ts.map +1 -0
  802. package/dist/structure/definition-use.js +102 -0
  803. package/dist/structure/definition-use.js.map +1 -0
  804. package/dist/structure/known-mentions.d.ts +18 -0
  805. package/dist/structure/known-mentions.d.ts.map +1 -0
  806. package/dist/structure/known-mentions.js +78 -0
  807. package/dist/structure/known-mentions.js.map +1 -0
  808. package/dist/structure/lazy-tree.d.ts +8 -0
  809. package/dist/structure/lazy-tree.d.ts.map +1 -0
  810. package/dist/structure/lazy-tree.js +14 -0
  811. package/dist/structure/lazy-tree.js.map +1 -0
  812. package/dist/structure/modal-conflict.d.ts +28 -0
  813. package/dist/structure/modal-conflict.d.ts.map +1 -0
  814. package/dist/structure/modal-conflict.js +74 -0
  815. package/dist/structure/modal-conflict.js.map +1 -0
  816. package/dist/structure/numbered-clauses.d.ts +4 -0
  817. package/dist/structure/numbered-clauses.d.ts.map +1 -0
  818. package/dist/structure/numbered-clauses.js +9 -0
  819. package/dist/structure/numbered-clauses.js.map +1 -0
  820. package/dist/structure/numbering.d.ts +1 -0
  821. package/dist/structure/numbering.d.ts.map +1 -1
  822. package/dist/structure/numbering.js +11 -6
  823. package/dist/structure/numbering.js.map +1 -1
  824. package/dist/structure/of.d.ts +3 -1
  825. package/dist/structure/of.d.ts.map +1 -1
  826. package/dist/structure/of.js +5 -1
  827. package/dist/structure/of.js.map +1 -1
  828. package/dist/structure/percent-sum.d.ts +16 -0
  829. package/dist/structure/percent-sum.d.ts.map +1 -0
  830. package/dist/structure/percent-sum.js +104 -0
  831. package/dist/structure/percent-sum.js.map +1 -0
  832. package/dist/structure/quoted-number.d.ts +8 -0
  833. package/dist/structure/quoted-number.d.ts.map +1 -0
  834. package/dist/structure/quoted-number.js +34 -0
  835. package/dist/structure/quoted-number.js.map +1 -0
  836. package/dist/structure/relative-find.d.ts.map +1 -1
  837. package/dist/structure/relative-find.js +34 -46
  838. package/dist/structure/relative-find.js.map +1 -1
  839. package/dist/structure/relative-resolve.d.ts.map +1 -1
  840. package/dist/structure/relative-resolve.js +76 -30
  841. package/dist/structure/relative-resolve.js.map +1 -1
  842. package/dist/structure/runs.d.ts +2 -0
  843. package/dist/structure/runs.d.ts.map +1 -1
  844. package/dist/structure/runs.js +2 -2
  845. package/dist/structure/runs.js.map +1 -1
  846. package/dist/structure/sexp.d.ts +1 -1
  847. package/dist/structure/sexp.d.ts.map +1 -1
  848. package/dist/structure/sexp.js +18 -6
  849. package/dist/structure/sexp.js.map +1 -1
  850. package/dist/structure/total.d.ts +3 -0
  851. package/dist/structure/total.d.ts.map +1 -1
  852. package/dist/structure/total.js +2 -2
  853. package/dist/structure/total.js.map +1 -1
  854. package/dist/structure/universal.d.ts +14 -2
  855. package/dist/structure/universal.d.ts.map +1 -1
  856. package/dist/structure/universal.js +24 -3
  857. package/dist/structure/universal.js.map +1 -1
  858. package/dist/structure/wrapped-tail.d.ts +14 -7
  859. package/dist/structure/wrapped-tail.d.ts.map +1 -1
  860. package/dist/structure/wrapped-tail.js +33 -8
  861. package/dist/structure/wrapped-tail.js.map +1 -1
  862. package/dist/style-load.d.ts +4 -0
  863. package/dist/style-load.d.ts.map +1 -0
  864. package/dist/style-load.js +28 -0
  865. package/dist/style-load.js.map +1 -0
  866. package/dist/style-parse.d.ts +25 -0
  867. package/dist/style-parse.d.ts.map +1 -0
  868. package/dist/style-parse.js +88 -0
  869. package/dist/style-parse.js.map +1 -0
  870. package/dist/subheading-line.d.ts +23 -0
  871. package/dist/subheading-line.d.ts.map +1 -0
  872. package/dist/subheading-line.js +85 -0
  873. package/dist/subheading-line.js.map +1 -0
  874. package/dist/tag-coverage.d.ts +8 -0
  875. package/dist/tag-coverage.d.ts.map +1 -0
  876. package/dist/tag-coverage.js +7 -0
  877. package/dist/tag-coverage.js.map +1 -0
  878. package/dist/template-syntax.d.ts +17 -0
  879. package/dist/template-syntax.d.ts.map +1 -0
  880. package/dist/template-syntax.js +140 -0
  881. package/dist/template-syntax.js.map +1 -0
  882. package/dist/text-above.d.ts +19 -0
  883. package/dist/text-above.d.ts.map +1 -0
  884. package/dist/text-above.js +43 -0
  885. package/dist/text-above.js.map +1 -0
  886. package/dist/text-figures.d.ts +10 -0
  887. package/dist/text-figures.d.ts.map +1 -0
  888. package/dist/text-figures.js +131 -0
  889. package/dist/text-figures.js.map +1 -0
  890. package/dist/trailing-aside.d.ts +2 -0
  891. package/dist/trailing-aside.d.ts.map +1 -0
  892. package/dist/trailing-aside.js +53 -0
  893. package/dist/trailing-aside.js.map +1 -0
  894. package/dist/tree-walk.d.ts +18 -0
  895. package/dist/tree-walk.d.ts.map +1 -0
  896. package/dist/tree-walk.js +45 -0
  897. package/dist/tree-walk.js.map +1 -0
  898. package/genres.yaml +68 -0
  899. package/package.json +9 -3
  900. package/reference-headings.yaml +17 -0
  901. package/rules/acronym-expansion-conflict.yaml +82 -0
  902. package/rules/adverb-overuse.yaml +19 -0
  903. package/rules/agentless-passive.yaml +47 -0
  904. package/rules/agreement-slip.yaml +14 -1
  905. package/rules/ai-generated-composite.yaml +102 -0
  906. package/rules/ai-tell.yaml +57 -0
  907. package/rules/announced-count-mismatch.yaml +57 -0
  908. package/rules/announcing-opener.yaml +82 -0
  909. package/rules/assistant-residue.yaml +82 -0
  910. package/rules/bold-density.yaml +59 -0
  911. package/rules/bold-label-list.yaml +81 -0
  912. package/rules/broken-link.yaml +65 -0
  913. package/rules/closing-cliche.yaml +58 -0
  914. package/rules/colon-lead-in.yaml +83 -0
  915. package/rules/concrete-evidence-density.yaml +41 -0
  916. package/rules/contraction-consistency.yaml +18 -0
  917. package/rules/contrast-framing.yaml +88 -0
  918. package/rules/cushion-phrase-density.yaml +53 -1
  919. package/rules/dangling-figure-reference.yaml +61 -0
  920. package/rules/dangling-reference.yaml +54 -1
  921. package/rules/date-order.yaml +34 -1
  922. package/rules/date-range-reversed.yaml +46 -0
  923. package/rules/date-weekday-mismatch.yaml +17 -1
  924. package/rules/double-keigo.yaml +16 -0
  925. package/rules/double-negative.yaml +51 -0
  926. package/rules/doubled-punctuation.yaml +45 -0
  927. package/rules/doubled-word.yaml +18 -2
  928. package/rules/duplicate-definition.yaml +59 -1
  929. package/rules/duplicate-heading.yaml +78 -0
  930. package/rules/emoji-density.yaml +28 -2
  931. package/rules/empty-conclusion.yaml +28 -0
  932. package/rules/empty-intensifier.yaml +44 -0
  933. package/rules/empty-section.yaml +74 -0
  934. package/rules/excessive-hedging.yaml +49 -2
  935. package/rules/expletive-construction.yaml +19 -0
  936. package/rules/fullwidth-alnum-consistency.yaml +53 -0
  937. package/rules/hankaku-kana.yaml +41 -0
  938. package/rules/heading-echo.yaml +31 -0
  939. package/rules/heading-level-skip.yaml +78 -0
  940. package/rules/hiragana-fukushi.yaml +16 -0
  941. package/rules/image-alt-text.yaml +54 -0
  942. package/rules/internal-jargon.yaml +21 -0
  943. package/rules/invisible-character.yaml +63 -0
  944. package/rules/katakana-long-vowel.yaml +99 -0
  945. package/rules/kutoten-consistency.yaml +53 -0
  946. package/rules/latin-spacing.yaml +30 -4
  947. package/rules/max-kanji-continuous.yaml +17 -0
  948. package/rules/max-paragraph-length.yaml +34 -0
  949. package/rules/max-sentence-length.yaml +58 -0
  950. package/rules/modal-conflict.yaml +106 -0
  951. package/rules/name-variant.yaml +88 -0
  952. package/rules/ngram-repetition.yaml +29 -2
  953. package/rules/no-doubled-joshi.yaml +17 -0
  954. package/rules/no-em-dash.yaml +49 -0
  955. package/rules/no-mixed-desumasu.yaml +28 -2
  956. package/rules/no-nakaguro-parallel.yaml +20 -0
  957. package/rules/nominalization.yaml +89 -0
  958. package/rules/numbering-gap.yaml +53 -1
  959. package/rules/outside-announced-list.yaml +80 -0
  960. package/rules/oxford-comma-consistency.yaml +18 -0
  961. package/rules/padded-intro.yaml +44 -0
  962. package/rules/paragraph-length-variance.yaml +73 -0
  963. package/rules/percent-sum-mismatch.yaml +58 -0
  964. package/rules/preamble-length.yaml +56 -0
  965. package/rules/preferred-term.yaml +28 -0
  966. package/rules/proper-noun-density.yaml +37 -2
  967. package/rules/ra-nuki.yaml +43 -0
  968. package/rules/repeated-conjunction.yaml +47 -0
  969. package/rules/repeated-sentence-head.yaml +23 -0
  970. package/rules/required-sections.yaml +49 -0
  971. package/rules/requirement-modal.yaml +94 -0
  972. package/rules/requirement-smell.yaml +70 -0
  973. package/rules/risk-disclosure.yaml +22 -0
  974. package/rules/rule-of-three.yaml +143 -0
  975. package/rules/sasete-itadaku.yaml +18 -0
  976. package/rules/section-length-uniformity.yaml +113 -0
  977. package/rules/sentence-initial-conjunction-run.yaml +18 -0
  978. package/rules/sentence-rhythm.yaml +51 -0
  979. package/rules/space-before-punctuation.yaml +41 -0
  980. package/rules/spelling-consistency.yaml +47 -0
  981. package/rules/stock-transition.yaml +86 -0
  982. package/rules/stray-space.yaml +18 -0
  983. package/rules/taigen-dome-in-prose.yaml +33 -0
  984. package/rules/title-case-consistency.yaml +42 -0
  985. package/rules/total-mismatch.yaml +38 -1
  986. package/rules/unbalanced-bracket.yaml +56 -0
  987. package/rules/undefined-acronym.yaml +23 -0
  988. package/rules/unfilled-placeholder.yaml +50 -0
  989. package/rules/unqualified-superlative.yaml +20 -0
  990. package/rules/unsourced-number.yaml +16 -0
  991. package/rules/unused-definition.yaml +75 -0
  992. package/rules/url-run-on.yaml +45 -0
  993. package/rules/use-before-definition.yaml +77 -0
  994. package/rules/vague-figure-reference.yaml +66 -0
  995. package/skills/chaff/SKILL.md +171 -1
  996. package/src/acronym-expansions.ts +106 -0
  997. package/src/announced-count.ts +190 -0
  998. package/src/announced-list.ts +120 -0
  999. package/src/api.ts +154 -0
  1000. package/src/bare-url.ts +35 -0
  1001. package/src/baseline.ts +17 -1
  1002. package/src/body-section.ts +7 -0
  1003. package/src/calendar-number.ts +18 -4
  1004. package/src/cli-args.ts +6 -0
  1005. package/src/cli-text.ts +14 -15
  1006. package/src/cli.ts +93 -92
  1007. package/src/closing-paragraph.ts +24 -0
  1008. package/src/commands/compare.ts +73 -0
  1009. package/src/commands/document-commands.ts +19 -0
  1010. package/src/commands/eval.ts +22 -10
  1011. package/src/commands/facts.ts +33 -0
  1012. package/src/commands/feedback.ts +45 -7
  1013. package/src/commands/fix-plan.ts +53 -0
  1014. package/src/commands/outline.ts +49 -0
  1015. package/src/commands/read-document.ts +24 -0
  1016. package/src/commands/suppressions.ts +19 -0
  1017. package/src/commands/test.ts +3 -5
  1018. package/src/commands/tree.ts +41 -5
  1019. package/src/compare/atom.ts +33 -0
  1020. package/src/compare/clock-time.ts +89 -0
  1021. package/src/compare/distinct.ts +13 -0
  1022. package/src/compare/extract.ts +80 -0
  1023. package/src/compare/fact-key.ts +31 -0
  1024. package/src/compare/fact-text.ts +87 -0
  1025. package/src/compare/facts-render.ts +63 -0
  1026. package/src/compare/facts-text.ts +41 -0
  1027. package/src/compare/markup-atoms.ts +29 -0
  1028. package/src/compare/match.ts +105 -0
  1029. package/src/compare/outcome.ts +80 -0
  1030. package/src/compare/proper-nouns.ts +65 -0
  1031. package/src/compare/render.ts +102 -0
  1032. package/src/compare/spans.ts +17 -0
  1033. package/src/compare/text-atoms.ts +96 -0
  1034. package/src/compare/text.ts +121 -0
  1035. package/src/compare/tree-atoms.ts +80 -0
  1036. package/src/compare/written-names.ts +26 -0
  1037. package/src/config/load.ts +30 -0
  1038. package/src/config/option-problems.ts +72 -0
  1039. package/src/config/read.ts +8 -0
  1040. package/src/config/rule-problems.ts +12 -2
  1041. package/src/config/style.ts +55 -0
  1042. package/src/config/warnings.ts +13 -0
  1043. package/src/config/write.ts +18 -4
  1044. package/src/custom/bounded-match.ts +58 -0
  1045. package/src/custom/load.ts +23 -0
  1046. package/src/custom/module-path.ts +23 -0
  1047. package/src/custom/parse.ts +323 -0
  1048. package/src/custom/problems.ts +111 -0
  1049. package/src/custom/regex-safety.ts +118 -0
  1050. package/src/custom/token-pattern.ts +84 -0
  1051. package/src/detect-language.ts +1 -1
  1052. package/src/detect.ts +35 -2
  1053. package/src/detectors/acronym-context.ts +16 -4
  1054. package/src/detectors/ai-phrasing.ts +141 -0
  1055. package/src/detectors/announced-count.ts +25 -0
  1056. package/src/detectors/bold-label.ts +55 -0
  1057. package/src/detectors/broken-link.ts +90 -0
  1058. package/src/detectors/cited-name.ts +6 -5
  1059. package/src/detectors/cited-title.ts +96 -0
  1060. package/src/detectors/concrete-evidence.ts +3 -2
  1061. package/src/detectors/contrast-frame.ts +54 -0
  1062. package/src/detectors/custom.ts +89 -0
  1063. package/src/detectors/dangling-figure.ts +26 -0
  1064. package/src/detectors/definition-use.ts +41 -0
  1065. package/src/detectors/doubled-punctuation.ts +52 -0
  1066. package/src/detectors/doubled-word.ts +19 -4
  1067. package/src/detectors/duplicate-heading.ts +47 -0
  1068. package/src/detectors/empty-section.ts +21 -0
  1069. package/src/detectors/enumerated-runs.ts +13 -4
  1070. package/src/detectors/fullwidth-alnum.ts +118 -0
  1071. package/src/detectors/gram-furniture.ts +30 -0
  1072. package/src/detectors/gram-place.ts +9 -5
  1073. package/src/detectors/gram-windows.ts +31 -0
  1074. package/src/detectors/hankaku-kana.ts +38 -0
  1075. package/src/detectors/heading-case.ts +30 -2
  1076. package/src/detectors/heading-code-words.ts +35 -0
  1077. package/src/detectors/heading-echo.ts +8 -4
  1078. package/src/detectors/heading-level-skip.ts +19 -0
  1079. package/src/detectors/image-alt-text.ts +11 -0
  1080. package/src/detectors/index.ts +79 -1
  1081. package/src/detectors/invisible-character.ts +190 -0
  1082. package/src/detectors/kutoten-consistency.ts +96 -0
  1083. package/src/detectors/lead-in.ts +3 -1
  1084. package/src/detectors/lexicon-match.ts +41 -2
  1085. package/src/detectors/lexicon.ts +40 -13
  1086. package/src/detectors/list-item.ts +122 -0
  1087. package/src/detectors/list-items.ts +163 -0
  1088. package/src/detectors/list-lead-in.ts +33 -0
  1089. package/src/detectors/list-sentence.ts +198 -0
  1090. package/src/detectors/list-view.ts +157 -0
  1091. package/src/detectors/long-vowel.ts +82 -0
  1092. package/src/detectors/markup-finding.ts +39 -0
  1093. package/src/detectors/modal-conflict.ts +26 -0
  1094. package/src/detectors/name-numeral.ts +4 -2
  1095. package/src/detectors/name-variant.ts +15 -0
  1096. package/src/detectors/nominalization.ts +73 -0
  1097. package/src/detectors/orthography.ts +97 -41
  1098. package/src/detectors/outside-announced-list.ts +25 -0
  1099. package/src/detectors/oxford-comma.ts +179 -283
  1100. package/src/detectors/phrase-match.ts +27 -7
  1101. package/src/detectors/place-run.ts +7 -4
  1102. package/src/detectors/placeholder-text.ts +27 -0
  1103. package/src/detectors/quote-around.ts +9 -0
  1104. package/src/detectors/ra-nuki.ts +38 -0
  1105. package/src/detectors/register.ts +37 -10
  1106. package/src/detectors/requirement-modal.ts +67 -0
  1107. package/src/detectors/requirement-smell.ts +52 -0
  1108. package/src/detectors/roman-numeral.ts +3 -0
  1109. package/src/detectors/sentence-ending.ts +14 -7
  1110. package/src/detectors/sentence-length.ts +16 -5
  1111. package/src/detectors/signals.ts +80 -46
  1112. package/src/detectors/space-before-punctuation.ts +32 -0
  1113. package/src/detectors/spelling-variety.ts +81 -0
  1114. package/src/detectors/structure-tree.ts +47 -1
  1115. package/src/detectors/structure.ts +20 -7
  1116. package/src/detectors/superlative-comparison.ts +47 -0
  1117. package/src/detectors/superlative-name.ts +7 -4
  1118. package/src/detectors/superlative-scope.ts +8 -3
  1119. package/src/detectors/token-column.ts +149 -0
  1120. package/src/detectors/unbalanced-bracket.ts +153 -0
  1121. package/src/detectors/url-run-on.ts +33 -0
  1122. package/src/detectors/vague-figure-pointer.ts +58 -0
  1123. package/src/detectors/word-list.ts +6 -1
  1124. package/src/document-sections.ts +46 -0
  1125. package/src/document.ts +188 -173
  1126. package/src/email-parts.ts +269 -0
  1127. package/src/eval.ts +14 -4
  1128. package/src/extension/document-view.ts +109 -0
  1129. package/src/extension/failure-text.ts +46 -0
  1130. package/src/extension/import-default.ts +13 -0
  1131. package/src/extension/load.ts +97 -0
  1132. package/src/extension/module-detector.ts +61 -0
  1133. package/src/extension/plugin-load.ts +82 -0
  1134. package/src/extension/plugin-name.ts +26 -0
  1135. package/src/extension/plugin-parse.ts +229 -0
  1136. package/src/extension/problem-text.ts +103 -0
  1137. package/src/extension/real-path.ts +10 -0
  1138. package/src/extension/returned-findings.ts +62 -0
  1139. package/src/extension/rule-export.ts +23 -0
  1140. package/src/feedback/draft.ts +6 -0
  1141. package/src/figure-references.ts +173 -0
  1142. package/src/files.ts +5 -0
  1143. package/src/finding-order.ts +3 -0
  1144. package/src/fix-plan/mode.ts +34 -0
  1145. package/src/fix-plan/plan.ts +181 -0
  1146. package/src/fix-plan/render.ts +128 -0
  1147. package/src/fix-plan/text.ts +133 -0
  1148. package/src/heading-label.ts +55 -0
  1149. package/src/in-page-nav.ts +48 -19
  1150. package/src/joined-view.ts +1 -0
  1151. package/src/language-sample.ts +48 -0
  1152. package/src/levels.ts +14 -1
  1153. package/src/line-paragraphs.ts +52 -9
  1154. package/src/link-line.ts +13 -0
  1155. package/src/long-vowel.ts +109 -0
  1156. package/src/markdown-node.ts +19 -0
  1157. package/src/markdown-read.ts +44 -0
  1158. package/src/markup.ts +212 -0
  1159. package/src/mask.ts +8 -8
  1160. package/src/name-variants.ts +217 -0
  1161. package/src/node-version.ts +22 -0
  1162. package/src/not-run.ts +16 -0
  1163. package/src/number-name.ts +151 -24
  1164. package/src/orthography.ts +50 -14
  1165. package/src/outline/render.ts +85 -0
  1166. package/src/outline/shape.ts +72 -0
  1167. package/src/outline/text.ts +50 -0
  1168. package/src/page-furniture.ts +11 -2
  1169. package/src/plain-source.ts +2 -1
  1170. package/src/plugin.ts +120 -3
  1171. package/src/profile/for-file.ts +3 -1
  1172. package/src/quoted-span.ts +9 -3
  1173. package/src/reasons.ts +12 -0
  1174. package/src/reference-lists.ts +91 -0
  1175. package/src/render/compact.ts +13 -3
  1176. package/src/render/explain.ts +75 -14
  1177. package/src/render/friendly.ts +20 -9
  1178. package/src/render/options.ts +58 -0
  1179. package/src/render/rules-json.ts +140 -18
  1180. package/src/render/rules-table.ts +91 -0
  1181. package/src/render/sarif.ts +4 -4
  1182. package/src/render/semantic.ts +3 -3
  1183. package/src/render/severity-name.ts +10 -0
  1184. package/src/render/suppressions.ts +30 -2
  1185. package/src/render/text.ts +21 -7
  1186. package/src/resolve-genre.ts +4 -1
  1187. package/src/rule-genres.ts +25 -0
  1188. package/src/rule-guide.ts +173 -0
  1189. package/src/rule-load.ts +91 -34
  1190. package/src/rule-options.ts +131 -0
  1191. package/src/run-semantic.ts +2 -1
  1192. package/src/run.ts +105 -22
  1193. package/src/sentence-shape.ts +4 -5
  1194. package/src/setting-problems.ts +9 -1
  1195. package/src/spacing-minority.ts +27 -0
  1196. package/src/span-cut.ts +28 -0
  1197. package/src/stet-block.ts +60 -0
  1198. package/src/stet.ts +41 -15
  1199. package/src/structure/aside-depth.ts +67 -0
  1200. package/src/structure/build.ts +38 -19
  1201. package/src/structure/closed-pairs.ts +20 -0
  1202. package/src/structure/date-range.ts +117 -0
  1203. package/src/structure/definition-use.ts +130 -0
  1204. package/src/structure/known-mentions.ts +96 -0
  1205. package/src/structure/lazy-tree.ts +15 -0
  1206. package/src/structure/modal-conflict.ts +86 -0
  1207. package/src/structure/numbered-clauses.ts +11 -0
  1208. package/src/structure/numbering.ts +9 -5
  1209. package/src/structure/of.ts +11 -3
  1210. package/src/structure/percent-sum.ts +135 -0
  1211. package/src/structure/quoted-number.ts +36 -0
  1212. package/src/structure/relative-find.ts +34 -47
  1213. package/src/structure/relative-resolve.ts +77 -30
  1214. package/src/structure/runs.ts +2 -2
  1215. package/src/structure/sexp.ts +17 -5
  1216. package/src/structure/total.ts +2 -2
  1217. package/src/structure/universal.ts +33 -5
  1218. package/src/structure/wrapped-tail.ts +38 -13
  1219. package/src/style-load.ts +28 -0
  1220. package/src/style-parse.ts +112 -0
  1221. package/src/subheading-line.ts +106 -0
  1222. package/src/tag-coverage.ts +13 -0
  1223. package/src/template-syntax.ts +164 -0
  1224. package/src/text-above.ts +49 -0
  1225. package/src/text-figures.ts +147 -0
  1226. package/src/trailing-aside.ts +50 -0
  1227. package/src/tree-walk.ts +48 -0
  1228. package/styles/bunkacho.yaml +25 -0
  1229. package/styles/ieice.yaml +30 -0
  1230. package/styles/jis-z8301-2011.yaml +28 -0
  1231. package/styles/jis-z8301-2019.yaml +31 -0
  1232. package/styles/koyobun.yaml +35 -0
  1233. package/dist/legal-address.d.ts +0 -2
  1234. package/dist/legal-address.d.ts.map +0 -1
  1235. package/dist/legal-address.js +0 -16
  1236. package/dist/legal-address.js.map +0 -1
package/dist/document.js CHANGED
@@ -1,20 +1,28 @@
1
- import { fromMarkdown } from "mdast-util-from-markdown";
2
- import { gfmTable } from "micromark-extension-gfm-table";
3
- import { gfmTableFromMarkdown } from "mdast-util-gfm-table";
4
- import { frontmatter } from "micromark-extension-frontmatter";
5
- import { frontmatterFromMarkdown } from "mdast-util-frontmatter";
1
+ import { headingReadersOf, sectionsOf } from "./document-sections.js";
6
2
  import { atxHeadingText, headingText } from "./heading-text.js";
7
3
  import { hasTitle } from "./heading-title.js";
8
4
  import { maskSpans } from "./mask.js";
9
5
  import { spansWithin, unmaskedSoftBreaks } from "./soft-break.js";
10
6
  import { segmentJoined } from "./joined-view.js";
11
- import { lineParagraphs } from "./line-paragraphs.js";
7
+ import { documentLineParagraphs } from "./line-paragraphs.js";
8
+ import { closingRun, standaloneLines, subheadingPieces } from "./subheading-line.js";
9
+ import { isLinkLine } from "./link-line.js";
12
10
  import { speakerLabels } from "./speaker-labels.js";
13
- import { buildTree } from "./structure/build.js";
11
+ import { lazyTree } from "./structure/lazy-tree.js";
14
12
  import { isMarkdownPath } from "./structure/markdown-path.js";
15
- import { pageFurniture, textOutline } from "./page-furniture.js";
13
+ import { layoutMasks, textOutline } from "./page-furniture.js";
16
14
  import { tokenizedLexicons } from "./lexicon-tokens.js";
15
+ import { plainSource } from "./plain-source.js";
17
16
  import { inPageAnchors, isInPageNavigation, isNavigationList } from "./in-page-nav.js";
17
+ import { eachPreOrder } from "./tree-walk.js";
18
+ import { alertReader } from "./template-syntax.js";
19
+ import { opaqueSpans, parse, readMarkdown, spansOfType } from "./markdown-read.js";
20
+ import { spanOf } from "./markdown-node.js";
21
+ import { emailParts, emailVocabulary } from "./email-parts.js";
22
+ import { cutTextSpans } from "./span-cut.js";
23
+ import { markdownFigures } from "./text-figures.js";
24
+ import { documentMarkup } from "./markup.js";
25
+ import { BARE_URL } from "./bare-url.js";
18
26
  /**
19
27
  * 本文として数えないもの。
20
28
  *
@@ -23,18 +31,8 @@ import { inPageAnchors, isInPageNavigation, isNavigationList } from "./in-page-n
23
31
  * 引用文にそれはできない。直せないものを指摘しても、書いた人は動けない。
24
32
  */
25
33
  const NOT_PROSE = new Set(["code", "inlineCode", "html", "yaml", "toml", "table", "blockquote", "thematicBreak", "definition", "image", "imageReference"]);
26
- const spanOf = (node) => {
27
- const start = node.position?.start.offset;
28
- const end = node.position?.end.offset;
29
- return start === undefined || end === undefined ? undefined : { start, end };
30
- };
31
- const walk = (node, visit) => {
32
- visit(node);
33
- (node.children ?? []).forEach((child) => walk(child, visit));
34
- };
35
- const parse = (source) => fromMarkdown(source, { extensions: [gfmTable(), frontmatter(["yaml"])], mdastExtensions: [gfmTableFromMarkdown(), frontmatterFromMarkdown(["yaml"])] });
36
34
  /** link は `[text](url)` の外側だけを覆う。表示される文字は本文なので残す。 */
37
- const linkChrome = (node) => {
35
+ export const linkChrome = (node) => {
38
36
  const whole = spanOf(node);
39
37
  const first = node.children?.[0];
40
38
  const last = node.children?.at(-1);
@@ -70,22 +68,22 @@ const EMPHASIS = new Set(["strong", "emphasis", "delete"]);
70
68
  * `:::note` `:::` のようなディレクティブ。Zenn・Docusaurus・VitePress が使う記法で、
71
69
  * 標準の Markdown には無いため段落として解析される。囲みの指定であって文章ではない。
72
70
  */
73
- const DIRECTIVE = /^:::[^\n]*/gmu;
74
- /**
75
- * `https://…` をそのまま書いた URL。GFM の autolink 拡張を入れていないので mdast では
76
- * ただのテキストになり、本文として残る。残すと、見出しと URL の中の識別子が一致して
77
- * 「見出しの繰り返し」と読まれる。表示される文字も本文ではない。
78
- */
79
- const BARE_URL = /https?:\/\/[^\s)<>"'\]]+/gu;
71
+ const DIRECTIVE = /^[ \t]*:::[^\n]*/gmu;
80
72
  const matchSpans = (source, pattern) => [...source.matchAll(pattern)].map((match) => ({ start: match.index, end: match.index + match[0].length }));
81
73
  const directiveSpans = (source) => [...matchSpans(source, DIRECTIVE), ...matchSpans(source, BARE_URL)];
82
- const collectMasks = (root, source, anchors) => {
83
- const spans = [...directiveSpans(source)];
84
- walk(root, (node) => {
74
+ const collectMasks = (root, source, anchors, syntax) => {
75
+ const spans = [...directiveSpans(source), ...syntax];
76
+ const alertOf = alertReader(source);
77
+ eachPreOrder(root, (node) => {
85
78
  if (node.type === "link" || node.type === "linkReference") {
86
79
  spans.push(...linkChrome(node));
87
80
  return;
88
81
  }
82
+ const alert = alertOf(node);
83
+ if (alert !== undefined) {
84
+ spans.push(...alert);
85
+ return;
86
+ }
89
87
  if (!NOT_PROSE.has(node.type) && node.type !== "heading" && !isInPageNavigation(node, anchors))
90
88
  return;
91
89
  const span = spanOf(node);
@@ -94,9 +92,9 @@ const collectMasks = (root, source, anchors) => {
94
92
  });
95
93
  return spans;
96
94
  };
97
- const emphasisSpans = (root, source) => {
95
+ export const emphasisSpans = (root, source) => {
98
96
  const spans = [];
99
- walk(root, (node) => {
97
+ eachPreOrder(root, (node) => {
100
98
  if (EMPHASIS.has(node.type))
101
99
  spans.push(...emphasisChrome(node, source));
102
100
  });
@@ -104,7 +102,7 @@ const emphasisSpans = (root, source) => {
104
102
  };
105
103
  const textOf = (node, source) => {
106
104
  const parts = [];
107
- walk(node, (child) => {
105
+ eachPreOrder(node, (child) => {
108
106
  if (child.type !== "text" && child.type !== "inlineCode")
109
107
  return;
110
108
  const span = spanOf(child);
@@ -113,19 +111,27 @@ const textOf = (node, source) => {
113
111
  });
114
112
  return parts.join("");
115
113
  };
116
- const headingsOf = (root, source) => {
114
+ /**
115
+ * `neutral` is the source with the template syntax blanked: `## Usage {% if x %}` is headed "Usage". Whether a
116
+ * heading has a title is read from the source, since `## {{ product }}` names something.
117
+ * 引用した返信(outside)の中の見出しは、ほかの人の文書の見出しなので数えない。
118
+ */
119
+ const headingsOf = (root, source, neutral, outside = []) => {
117
120
  const found = [];
118
- walk(root, (node) => {
121
+ eachPreOrder(root, (node) => {
119
122
  if (node.type !== "heading")
120
123
  return;
121
124
  const span = spanOf(node);
122
125
  const depth = typeof node === "object" && "depth" in node && typeof node.depth === "number" ? node.depth : 1;
123
- if (span === undefined)
126
+ if (span === undefined || startsInside(span, outside))
124
127
  return;
125
128
  // ATX(行頭が #)なら閉じの # も外す。setext の見出しの末尾の # は言葉なので残す。
126
129
  const read = source.startsWith("#", span.start) ? atxHeadingText : headingText;
127
- const text = read(textOf(node, source));
128
- if (hasTitle(text))
130
+ const written = textOf(node, source);
131
+ const shown = textOf(node, neutral);
132
+ // A blanked tag leaves a run of spaces where the reader sees one gap.
133
+ const text = read(shown === written ? written : shown.replace(/ {2,}/gu, " "));
134
+ if (hasTitle(read(written)))
129
135
  found.push({ depth, text, start: span.start, end: span.end });
130
136
  });
131
137
  return found;
@@ -140,7 +146,7 @@ const startsInside = (span, regions) => regions.some((region) => span.start >= r
140
146
  */
141
147
  const strongSpans = (root, masked) => {
142
148
  const found = [];
143
- walk(root, (node) => {
149
+ eachPreOrder(root, (node) => {
144
150
  if (node.type !== "strong")
145
151
  return;
146
152
  const span = spanOf(node);
@@ -149,18 +155,6 @@ const strongSpans = (root, masked) => {
149
155
  });
150
156
  return found;
151
157
  };
152
- const within = (span, from, to) => span.start >= from && span.start < to;
153
- const spansOfType = (root, type, keep = () => true) => {
154
- const found = [];
155
- walk(root, (node) => {
156
- if (node.type !== type || !keep(node))
157
- return;
158
- const span = spanOf(node);
159
- if (span !== undefined)
160
- found.push(span);
161
- });
162
- return found;
163
- };
164
158
  /**
165
159
  * 文の分割は**段落ごと**に行う。
166
160
  *
@@ -170,6 +164,33 @@ const spansOfType = (root, type, keep = () => true) => {
170
164
  */
171
165
  const shift = (span, by) => ({ start: by + span.start, end: by + span.end });
172
166
  const breaksWithin = (breaks, paragraph) => spansWithin(breaks, paragraph).map((span) => shift(span, -paragraph.start));
167
+ /** 段落の中の行(段落の中の位置)が、一つのリンクだけの行か。 */
168
+ const linkLineIn = (source, links, paragraph) => (start, end) => isLinkLine(source, shift({ start, end }, paragraph.start), links);
169
+ /**
170
+ * 段落を、中の小見出しの行(「(経済再生)」)とリンクだけの行の後ろで切った片。片ごとに分割すれば、
171
+ * 小見出しが次の文に入らず、1 行ずつ並べたリンクが一つの長い文にならない。
172
+ */
173
+ const piecesOf = (prose, paragraphs, source, links) => paragraphs.flatMap((paragraph) => subheadingPieces(prose.slice(paragraph.start, paragraph.end), linkLineIn(source, links, paragraph)).map((piece) => shift(piece, paragraph.start)));
174
+ /**
175
+ * 段落の終わりまで続く、一つで立つリンクだけの行(文書の位置)。記事の一覧のように本文の後に 1 行ずつ並べたリンクは、
176
+ * 箇条書きの項目と同じに読む。段落の途中のリンクの行は、その段落の文の一つのまま。
177
+ */
178
+ const linkItemsOf = (prose, paragraphs, source, links) => paragraphs.flatMap((paragraph) => {
179
+ const isLink = linkLineIn(source, links, paragraph);
180
+ const text = prose.slice(paragraph.start, paragraph.end);
181
+ const linkLines = standaloneLines(text, isLink).filter((line) => isLink(line.start, line.end));
182
+ return closingRun(linkLines, text.length).map((line) => shift({ start: line.start, end: line.end }, paragraph.start));
183
+ });
184
+ const lineLayoutOf = (root, source, prose, paragraphs) => {
185
+ const links = [...spansOfType(root, "link"), ...spansOfType(root, "linkReference")];
186
+ const linkItems = linkItemsOf(prose, paragraphs, source, links);
187
+ return {
188
+ links,
189
+ pieces: piecesOf(prose, paragraphs, source, links),
190
+ listSpans: [...spansOfType(root, "listItem"), ...linkItems],
191
+ paragraphs: cutTextSpans(paragraphs, linkItems, source),
192
+ };
193
+ };
173
194
  const sentencesOf = (prose, paragraphs, adapter, softBreaks) => paragraphs.flatMap((paragraph) => segmentJoined(prose.slice(paragraph.start, paragraph.end), breaksWithin(softBreaks, paragraph), (text) => adapter.segment(text))
174
195
  .filter((sentence) => sentence.text.trim().length > 0)
175
196
  .map((sentence) => ({
@@ -177,27 +198,8 @@ const sentencesOf = (prose, paragraphs, adapter, softBreaks) => paragraphs.flatM
177
198
  text: sentence.text,
178
199
  ...(sentence.tokens === undefined ? {} : { tokens: sentence.tokens.map((token) => ({ ...token, span: shift(token.span, paragraph.start) })) }),
179
200
  ...(sentence.wrapBreaks === undefined ? {} : { wrapBreaks: sentence.wrapBreaks.map((span) => shift(span, paragraph.start)) }),
201
+ ...(sentence.embeddedLanguage === undefined ? {} : { embeddedLanguage: sentence.embeddedLanguage }),
180
202
  })));
181
- /** 見出しの語。品詞を読んでいない文書(文が tokens を持たない)では分けない。 */
182
- const headingTokensOf = (adapter, tagged, heading) => tagged && heading !== "" ? { headingTokens: adapter.segment(heading).sentences.flatMap((sentence) => sentence.tokens ?? []) } : {};
183
- const sectionsOf = (headings, sentences, strongs, length, tokensOf) => {
184
- const bounds = headings.map((heading, index) => ({ heading, from: heading.end, to: headings[index + 1]?.start ?? length }));
185
- const lead = { heading: { depth: 0, text: "", start: 0, end: 0 }, from: 0, to: headings[0]?.start ?? length };
186
- return [lead, ...bounds]
187
- .filter((bound) => bound.to > bound.from)
188
- .map(({ heading, from, to }) => {
189
- const inside = sentences.filter((sentence) => within(sentence.span, from, to));
190
- return {
191
- depth: heading.depth,
192
- heading: heading.text,
193
- ...tokensOf(heading.text),
194
- span: { start: from, end: to },
195
- sentences: inside,
196
- strongCount: strongs.filter((span) => within(span, from, to)).length,
197
- firstSentence: inside[0],
198
- };
199
- });
200
- };
201
203
  /** sentences(並び順)の中で、start が offset 以上の最初の添字。1 行 1 段落の何万行でも、段落ごとに全部をなめない。 */
202
204
  const firstStartingAt = (sentences, offset) => {
203
205
  const search = (low, high) => {
@@ -209,37 +211,40 @@ const firstStartingAt = (sentences, offset) => {
209
211
  return search(0, sentences.length);
210
212
  };
211
213
  const sentencesWithin = (sentences, span) => sentences.slice(firstStartingAt(sentences, span.start), firstStartingAt(sentences, span.end));
212
- const paragraphsOf = (prose, spans, sentences, listSpans) => spans
214
+ const paragraphsOf = (prose, spans, sentences, listSpans) => {
213
215
  // 箇条書きの中の段落は「段落」として数えない。項目 1 つを 1 段落と読むと、
214
216
  // 段落あたりの文数も長さのばらつきも、箇条書きの多い文書で壊れる。
215
- .filter((span) => !listSpans.some((list) => span.start >= list.start && span.start < list.end))
216
- .flatMap((span) => lineParagraphs(prose, span, sentencesWithin(sentences, span).map((sentence) => sentence.span)))
217
- .map((span) => ({ span, sentences: sentencesWithin(sentences, span) }));
217
+ const outsideLists = spans.filter((span) => !listSpans.some((list) => span.start >= list.start && span.start < list.end));
218
+ const withSentences = outsideLists.map((span) => ({ span, sentences: sentencesWithin(sentences, span).map((sentence) => sentence.span) }));
219
+ return documentLineParagraphs(prose, withSentences).map((span) => ({ span, sentences: sentencesWithin(sentences, span) }));
220
+ };
218
221
  /** 箇条書きは list ノードの直下の項目を数える。入れ子の項目は内側の list のものとして数える。目次のような案内だけの箇条書きは数えない。 */
219
222
  const listsOf = (root, source, anchors) => {
220
223
  const found = [];
221
- walk(root, (node) => {
224
+ eachPreOrder(root, (node) => {
222
225
  if (node.type !== "list" || isNavigationList(node, anchors))
223
226
  return;
224
227
  const span = spanOf(node);
225
228
  if (span === undefined)
226
229
  return;
227
- const items = (node.children ?? []).flatMap((child) => {
230
+ const itemSpans = (node.children ?? []).flatMap((child) => {
228
231
  const item = spanOf(child);
229
- return child.type === "listItem" && item !== undefined ? [source.slice(item.start, item.end).replace(/\s+/gu, "").length] : [];
232
+ return child.type === "listItem" && item !== undefined ? [item] : [];
230
233
  });
234
+ const items = itemSpans.map((item) => source.slice(item.start, item.end).replace(/\s+/gu, "").length);
231
235
  if (items.length > 0)
232
- found.push({ span, items });
236
+ found.push({ span, items, itemSpans });
233
237
  });
234
238
  return found;
235
239
  };
236
240
  const EMPTY_TEAM = { jargon: [], requiredSections: [] };
237
- /** Config から取り出す。document は Config の形を知らない。 */
238
- export const teamRules = (config) => ({
241
+ /** Config から取り出す。document は Config の形を知らない。language: the document's, for the plugins' word lists. */
242
+ export const teamRules = (config, language) => ({
239
243
  jargon: config.jargon,
240
244
  prefer: config.prefer ?? {},
241
245
  requiredSections: config.requiredSections,
242
246
  names: config.names ?? [],
247
+ lexicons: language === undefined ? {} : (config.extensions?.lexicons[language] ?? {}),
243
248
  });
244
249
  /**
245
250
  * masked を覆った本文から、話し手の名前(戯曲・議事録)も覆う。名前は誰が話すかの印で、文でも本文でもない。
@@ -249,72 +254,82 @@ const proseOf = (source, masked) => {
249
254
  const unlabelled = maskSpans(source, masked);
250
255
  return maskSpans(unlabelled, speakerLabels(unlabelled));
251
256
  };
252
- export const buildDocument = (path, source, adapter, team = EMPTY_TEAM, profile = undefined) => {
253
- const root = parse(source);
257
+ const teamLexicons = (adapter, team) => ({
258
+ ...adapter.lexicons,
259
+ ...team.lexicons,
260
+ "internal-jargon": team.jargon.map((pattern) => ({ pattern })),
261
+ // 使わない書き方を pattern に、使う書き方を instead_of に置く。語彙表の「同じことの別の書き方」と同じ向き。
262
+ "preferred-term": Object.entries(team.prefer ?? {}).map(([pattern, use]) => ({ pattern, instead_of: use })),
263
+ });
264
+ const documentOf = (path, source, adapter, team, profile) => {
265
+ const markdown = isMarkdownPath(path);
266
+ const { root, syntax } = markdown ? readMarkdown(source) : { root: parse(source), syntax: [] };
254
267
  const anchors = inPageAnchors(root);
268
+ const emailLayout = emailParts(source, emailVocabulary(adapter.lexicons));
255
269
  // 強調の記号は「本文でないもの」だが、太字の数を数えるときの「覆われた場所」ではない。
256
270
  // 同じ集合にすると、太字が自分の記号のせいで覆われた場所にあることになり、1 つも数えられなくなる。
257
- // テキストの文書は、ページのヘッダーとフッターも本文ではない(Markdown には改ページが無い)。
258
- const blocks = [...collectMasks(root, source, anchors), ...(isMarkdownPath(path) ? [] : pageFurniture(source))];
259
- const masked = [...blocks, ...emphasisSpans(root, source)];
260
- const prose = proseOf(source, masked);
261
- // ページの案内は段落としても数えない。数えると、目次の行が「本題までの段落」に入る。
262
- const paragraphSpans = spansOfType(root, "paragraph", (node) => !isInPageNavigation(node, anchors));
263
- const listItems = spansOfType(root, "listItem");
271
+ // ページのヘッダーとフッター(テキストの文書)と、線で描いた図も本文ではない。
272
+ const blocks = [...collectMasks(root, source, anchors, syntax), ...layoutMasks(root, source, markdown), ...emailLayout.furniture];
273
+ const prose = proseOf(source, [...blocks, ...emphasisSpans(root, source)]);
274
+ // ページの案内は段落としても数えない。数えると、目次の行が「本題までの段落」に入る。メールのヘッダーや署名の行は段落から切り取る。
275
+ const paragraphSpans = cutTextSpans(spansOfType(root, "paragraph", (node) => !isInPageNavigation(node, anchors)), emailLayout.furniture, source);
276
+ const headings = headingsOf(root, source, maskSpans(source, syntax), emailLayout.replyQuotes);
264
277
  // Markdown は段落を流し込んで表示するので、段落の中の改行は読み手に見えない。テキストの文書は行をそのまま見せる(法令は 1 行 1 号)。
265
- const softBreaks = isMarkdownPath(path) ? unmaskedSoftBreaks(source, prose) : [];
266
- const sentences = sentencesOf(prose, paragraphSpans, adapter, softBreaks);
267
- const lexicons = {
268
- ...adapter.lexicons,
269
- "internal-jargon": team.jargon.map((pattern) => ({ pattern })),
270
- // 使わない書き方を pattern に、使う書き方を instead_of に置く。語彙表の「同じことの別の書き方」と同じ向き。
271
- "preferred-term": Object.entries(team.prefer ?? {}).map(([pattern, use]) => ({ pattern, instead_of: use })),
272
- };
278
+ const softBreaks = markdown ? unmaskedSoftBreaks(source, prose) : [];
279
+ const layout = lineLayoutOf(root, source, prose, paragraphSpans);
280
+ const sentences = sentencesOf(prose, layout.pieces, adapter, softBreaks);
281
+ const lexicons = teamLexicons(adapter, team);
273
282
  const tagged = sentences.some((sentence) => sentence.tokens !== undefined);
274
- const patterns = adapter.structure;
275
- // null は「作ったが構造を読めない言語だった」、undefined は「まだ作っていない」。
276
- const tree = { value: undefined };
283
+ const structure = lazyTree(adapter.structure, () => ({
284
+ path,
285
+ source,
286
+ language: adapter.id,
287
+ // テキストの文書は、ページの飾りを覆って読む。フッターの「Section 9」を木の節にしない。
288
+ outline: markdown ? outlineOf(root, source, syntax, emailLayout.replyQuotes) : textOutline(source, emailLayout.replyQuotes),
289
+ markdown,
290
+ profile,
291
+ }));
277
292
  return {
278
293
  path,
279
294
  source,
280
295
  language: adapter.id,
281
296
  lengthUnit: adapter.capabilities.lengthUnit,
282
297
  capabilities: adapter.capabilities,
283
- sections: sectionsOf(headingsOf(root, source), sentences, strongSpans(root, blocks), source.length, (heading) => headingTokensOf(adapter, tagged, heading)),
298
+ sections: sectionsOf(headings, sentences, strongSpans(root, blocks), source.length, headingReadersOf(adapter, tagged, lexicons)),
284
299
  sentences,
285
- listSpans: listItems,
286
- paragraphs: paragraphsOf(prose, paragraphSpans, sentences, listItems),
300
+ listSpans: layout.listSpans,
301
+ paragraphs: paragraphsOf(prose, layout.paragraphs, sentences, layout.listSpans),
287
302
  lists: listsOf(root, source, anchors),
288
- links: [...spansOfType(root, "link"), ...spansOfType(root, "linkReference")],
303
+ links: layout.links,
289
304
  lexicons: tagged ? tokenizedLexicons(lexicons, adapter) : lexicons,
290
305
  requiredSections: team.requiredSections,
291
306
  names: team.names ?? [],
292
- // 構造の rule(参照先が無い・番号の抜け)が読む木。どの rule も読まなければ作らない。何万行の契約書で、他の rule の lint に代金を払わせない。
293
307
  get structure() {
294
- tree.value ??=
295
- patterns === undefined
296
- ? null
297
- : buildTree({
298
- path,
299
- source,
300
- language: adapter.id,
301
- // テキストの文書は、ページの飾りを覆って読む。フッターの「Section 9」を木の節にしない。
302
- outline: isMarkdownPath(path) ? outlineOf(root, source) : textOutline(source),
303
- markdown: isMarkdownPath(path),
304
- profile,
305
- }, patterns);
306
- return tree.value ?? undefined;
308
+ return structure();
307
309
  },
308
310
  profile,
309
311
  prose,
312
+ namedDocument: adapter.structure?.namedDocument,
313
+ replyQuotes: emailLayout.replyQuotes,
314
+ get markup() {
315
+ return documentMarkup(root, source, markdown, [...emailLayout.replyQuotes, ...syntax]);
316
+ },
310
317
  };
311
318
  };
312
- /** 番号を探してはいけない範囲。コードの中の「第3条」は条ではなく、参照でもない。 */
313
- const OPAQUE = ["code", "inlineCode", "html", "yaml", "toml"];
314
- const outlineOf = (root, source) => ({
315
- headings: headingsOf(root, source),
316
- opaque: OPAQUE.flatMap((type) => spansOfType(root, type)),
319
+ /**
320
+ * 文書モデルを作る。text はファイルの中身のままでよい。先頭の BOM を外し、CRLF と CR を LF にそろえた doc.source を読む。
321
+ * 位置(span・offset)はすべて doc.source の上の位置で、渡した text の上の位置ではない。行と桁は同じ。
322
+ */
323
+ export const buildDocument = (path, text, adapter, team = EMPTY_TEAM, profile = undefined) => documentOf(path, plainSource(text), adapter, team, profile);
324
+ /** 引用した返信も中を読まない。ほかの人の言葉の中の定義や番号は、この文書のものではない。 */
325
+ const outlineOf = (root, source, syntax, replyQuotes) => ({
326
+ headings: headingsOf(root, source, maskSpans(source, syntax), replyQuotes),
327
+ opaque: [...opaqueSpans(root), ...markdownFigures(root, source), ...syntax, ...replyQuotes],
328
+ tables: spansOfType(root, "table"),
317
329
  });
318
- /** 構造を読むための Markdown の手がかり。見出しと、中を読まない範囲。 */
319
- export const markdownOutline = (source) => outlineOf(parse(source), source);
330
+ /** 構造を読むための Markdown の手がかり。見出しと、中を読まない範囲。返信の引用は、言語パッケージの語彙表で見分ける。 */
331
+ export const markdownOutline = (source, lexicons = {}) => {
332
+ const { root, syntax } = readMarkdown(source);
333
+ return outlineOf(root, source, syntax, emailParts(source, emailVocabulary(lexicons)).replyQuotes);
334
+ };
320
335
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Lexicon, Span } from "./plugin.ts";
2
+ /**
3
+ * The parts of a plain-text or Markdown email that are not the writer's prose: the header, the separator lines between
4
+ * messages, the signature, and a quoted reply. Found by shape, in any genre; the field names and the attribution words
5
+ * come from the language package's lexicons.
6
+ */
7
+ export type EmailVocabulary = {
8
+ /** Header field names, lower-cased. */
9
+ readonly headerFields: ReadonlySet<string>;
10
+ /** The fields whose value the writer types (Subject, To), lower-cased. Their value stays prose, on a line of its own. */
11
+ readonly writtenFields: ReadonlySet<string>;
12
+ /** Words an attribution line ends with, before its colon ("wrote", 「書きました」). */
13
+ readonly attributions: readonly string[];
14
+ /** How an archive's note in place of a removed attachment ends ("was scrubbed...", 「を保管しました...」). */
15
+ readonly attachmentNotes: readonly string[];
16
+ };
17
+ export type EmailParts = {
18
+ /**
19
+ * Header lines (all of them but a written field's value), separator lines, signatures and attribution lines: masked
20
+ * from prose, and paragraphs are cut around them.
21
+ */
22
+ readonly furniture: readonly Span[];
23
+ /** An attribution line and the quoted lines after it: someone else's words, so not this document's headings or structure. */
24
+ readonly replyQuotes: readonly Span[];
25
+ };
26
+ export declare const emailVocabulary: (lexicons: Readonly<Record<string, Lexicon>>) => EmailVocabulary;
27
+ export declare const emailParts: (source: string, vocabulary: EmailVocabulary) => EmailParts;
28
+ //# sourceMappingURL=email-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-parts.d.ts","sourceRoot":"","sources":["../src/email-parts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGjD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,yHAAyH;IACzH,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,qGAAqG;IACrG,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;IACpC,6HAA6H;IAC7H,QAAQ,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;CACvC,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,eAK5E,CAAC;AA0NH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,YAAY,eAAe,KAAG,UAcxE,CAAC"}