chaffjs 0.16.0 → 0.17.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 (187) hide show
  1. package/dist/calendar-number.d.ts +7 -2
  2. package/dist/calendar-number.d.ts.map +1 -1
  3. package/dist/calendar-number.js +10 -3
  4. package/dist/calendar-number.js.map +1 -1
  5. package/dist/closing-numbers.d.ts +20 -0
  6. package/dist/closing-numbers.d.ts.map +1 -0
  7. package/dist/closing-numbers.js +56 -0
  8. package/dist/closing-numbers.js.map +1 -0
  9. package/dist/commands/test.d.ts.map +1 -1
  10. package/dist/commands/test.js +11 -9
  11. package/dist/commands/test.js.map +1 -1
  12. package/dist/detectors/acronym-context.d.ts +2 -0
  13. package/dist/detectors/acronym-context.d.ts.map +1 -1
  14. package/dist/detectors/acronym-context.js +13 -0
  15. package/dist/detectors/acronym-context.js.map +1 -1
  16. package/dist/detectors/acronym-expansion.d.ts +2 -0
  17. package/dist/detectors/acronym-expansion.d.ts.map +1 -1
  18. package/dist/detectors/acronym-expansion.js +104 -1
  19. package/dist/detectors/acronym-expansion.js.map +1 -1
  20. package/dist/detectors/agreement-slip.d.ts +32 -0
  21. package/dist/detectors/agreement-slip.d.ts.map +1 -0
  22. package/dist/detectors/agreement-slip.js +137 -0
  23. package/dist/detectors/agreement-slip.js.map +1 -0
  24. package/dist/detectors/content-morphemes.d.ts +4 -0
  25. package/dist/detectors/content-morphemes.d.ts.map +1 -0
  26. package/dist/detectors/content-morphemes.js +12 -0
  27. package/dist/detectors/content-morphemes.js.map +1 -0
  28. package/dist/detectors/en-shape.d.ts +0 -1
  29. package/dist/detectors/en-shape.d.ts.map +1 -1
  30. package/dist/detectors/en-shape.js +0 -235
  31. package/dist/detectors/en-shape.js.map +1 -1
  32. package/dist/detectors/heading-echo.d.ts.map +1 -1
  33. package/dist/detectors/heading-echo.js +12 -18
  34. package/dist/detectors/heading-echo.js.map +1 -1
  35. package/dist/detectors/heading-overlap.d.ts +13 -0
  36. package/dist/detectors/heading-overlap.d.ts.map +1 -0
  37. package/dist/detectors/heading-overlap.js +52 -0
  38. package/dist/detectors/heading-overlap.js.map +1 -0
  39. package/dist/detectors/index.d.ts.map +1 -1
  40. package/dist/detectors/index.js +6 -1
  41. package/dist/detectors/index.js.map +1 -1
  42. package/dist/detectors/letter-joined-name.d.ts +13 -0
  43. package/dist/detectors/letter-joined-name.d.ts.map +1 -0
  44. package/dist/detectors/letter-joined-name.js +11 -0
  45. package/dist/detectors/letter-joined-name.js.map +1 -0
  46. package/dist/detectors/lexicon.d.ts.map +1 -1
  47. package/dist/detectors/lexicon.js +5 -2
  48. package/dist/detectors/lexicon.js.map +1 -1
  49. package/dist/detectors/orthography.js +2 -2
  50. package/dist/detectors/orthography.js.map +1 -1
  51. package/dist/detectors/oxford-comma.d.ts +3 -0
  52. package/dist/detectors/oxford-comma.d.ts.map +1 -0
  53. package/dist/detectors/oxford-comma.js +340 -0
  54. package/dist/detectors/oxford-comma.js.map +1 -0
  55. package/dist/detectors/signals.d.ts.map +1 -1
  56. package/dist/detectors/signals.js +29 -10
  57. package/dist/detectors/signals.js.map +1 -1
  58. package/dist/detectors/stacked-hedge.d.ts +0 -7
  59. package/dist/detectors/stacked-hedge.d.ts.map +1 -1
  60. package/dist/detectors/stacked-hedge.js +6 -3
  61. package/dist/detectors/stacked-hedge.js.map +1 -1
  62. package/dist/detectors/stray-space.d.ts +7 -0
  63. package/dist/detectors/stray-space.d.ts.map +1 -0
  64. package/dist/detectors/stray-space.js +34 -0
  65. package/dist/detectors/stray-space.js.map +1 -0
  66. package/dist/detectors/structure.d.ts +3 -1
  67. package/dist/detectors/structure.d.ts.map +1 -1
  68. package/dist/detectors/structure.js +4 -2
  69. package/dist/detectors/structure.js.map +1 -1
  70. package/dist/document.d.ts.map +1 -1
  71. package/dist/document.js +15 -3
  72. package/dist/document.js.map +1 -1
  73. package/dist/genre-parse.d.ts +5 -1
  74. package/dist/genre-parse.d.ts.map +1 -1
  75. package/dist/genre-parse.js +16 -3
  76. package/dist/genre-parse.js.map +1 -1
  77. package/dist/genre-suggest.d.ts.map +1 -1
  78. package/dist/genre-suggest.js +15 -1
  79. package/dist/genre-suggest.js.map +1 -1
  80. package/dist/line-paragraphs.d.ts.map +1 -1
  81. package/dist/line-paragraphs.js +3 -1
  82. package/dist/line-paragraphs.js.map +1 -1
  83. package/dist/mask.d.ts.map +1 -1
  84. package/dist/mask.js +2 -11
  85. package/dist/mask.js.map +1 -1
  86. package/dist/number-name.js +1 -1
  87. package/dist/number-name.js.map +1 -1
  88. package/dist/opening-line.d.ts +3 -0
  89. package/dist/opening-line.d.ts.map +1 -0
  90. package/dist/opening-line.js +14 -0
  91. package/dist/opening-line.js.map +1 -0
  92. package/dist/orthography.d.ts +5 -1
  93. package/dist/orthography.d.ts.map +1 -1
  94. package/dist/orthography.js +7 -1
  95. package/dist/orthography.js.map +1 -1
  96. package/dist/paragraph-length.d.ts +7 -0
  97. package/dist/paragraph-length.d.ts.map +1 -0
  98. package/dist/paragraph-length.js +10 -0
  99. package/dist/paragraph-length.js.map +1 -0
  100. package/dist/plugin.d.ts +6 -0
  101. package/dist/plugin.d.ts.map +1 -1
  102. package/dist/quoted-span.d.ts +0 -2
  103. package/dist/quoted-span.d.ts.map +1 -1
  104. package/dist/quoted-span.js +1 -1
  105. package/dist/quoted-span.js.map +1 -1
  106. package/dist/rule-load.d.ts.map +1 -1
  107. package/dist/rule-load.js +8 -0
  108. package/dist/rule-load.js.map +1 -1
  109. package/dist/run-semantic.d.ts +3 -1
  110. package/dist/run-semantic.d.ts.map +1 -1
  111. package/dist/run-semantic.js +8 -3
  112. package/dist/run-semantic.js.map +1 -1
  113. package/dist/run.d.ts +2 -0
  114. package/dist/run.d.ts.map +1 -1
  115. package/dist/run.js +4 -1
  116. package/dist/run.js.map +1 -1
  117. package/dist/semantic.d.ts +1 -1
  118. package/dist/semantic.d.ts.map +1 -1
  119. package/dist/semantic.js +10 -3
  120. package/dist/semantic.js.map +1 -1
  121. package/dist/span-merge.d.ts +4 -0
  122. package/dist/span-merge.d.ts.map +1 -0
  123. package/dist/span-merge.js +12 -0
  124. package/dist/span-merge.js.map +1 -0
  125. package/dist/speaker-labels.d.ts +4 -0
  126. package/dist/speaker-labels.d.ts.map +1 -0
  127. package/dist/speaker-labels.js +106 -0
  128. package/dist/speaker-labels.js.map +1 -0
  129. package/dist/stray-space.d.ts +17 -0
  130. package/dist/stray-space.d.ts.map +1 -0
  131. package/dist/stray-space.js +66 -0
  132. package/dist/stray-space.js.map +1 -0
  133. package/dist/structure/relative-resolve.d.ts.map +1 -1
  134. package/dist/structure/relative-resolve.js +26 -20
  135. package/dist/structure/relative-resolve.js.map +1 -1
  136. package/dist/team-names.d.ts.map +1 -1
  137. package/dist/team-names.js +11 -14
  138. package/dist/team-names.js.map +1 -1
  139. package/genres.yaml +34 -2
  140. package/package.json +3 -3
  141. package/rules/agreement-slip.yaml +36 -0
  142. package/rules/empty-conclusion.yaml +1 -0
  143. package/rules/heading-echo.yaml +1 -0
  144. package/rules/max-paragraph-length.yaml +9 -2
  145. package/rules/max-sentence-length.yaml +4 -0
  146. package/rules/oxford-comma-consistency.yaml +1 -1
  147. package/rules/stray-space.yaml +38 -0
  148. package/rules/undefined-acronym.yaml +1 -0
  149. package/src/calendar-number.ts +16 -7
  150. package/src/closing-numbers.ts +72 -0
  151. package/src/commands/test.ts +19 -14
  152. package/src/detectors/acronym-context.ts +16 -0
  153. package/src/detectors/acronym-expansion.ts +132 -1
  154. package/src/detectors/agreement-slip.ts +191 -0
  155. package/src/detectors/content-morphemes.ts +19 -0
  156. package/src/detectors/en-shape.ts +0 -269
  157. package/src/detectors/heading-echo.ts +12 -20
  158. package/src/detectors/heading-overlap.ts +65 -0
  159. package/src/detectors/index.ts +6 -1
  160. package/src/detectors/letter-joined-name.ts +15 -0
  161. package/src/detectors/lexicon.ts +6 -2
  162. package/src/detectors/orthography.ts +2 -2
  163. package/src/detectors/oxford-comma.ts +402 -0
  164. package/src/detectors/signals.ts +32 -9
  165. package/src/detectors/stacked-hedge.ts +6 -3
  166. package/src/detectors/stray-space.ts +40 -0
  167. package/src/detectors/structure.ts +10 -2
  168. package/src/document.ts +25 -4
  169. package/src/genre-parse.ts +30 -5
  170. package/src/genre-suggest.ts +15 -2
  171. package/src/line-paragraphs.ts +4 -1
  172. package/src/mask.ts +2 -11
  173. package/src/number-name.ts +1 -1
  174. package/src/opening-line.ts +17 -0
  175. package/src/orthography.ts +10 -2
  176. package/src/paragraph-length.ts +9 -0
  177. package/src/plugin.ts +6 -0
  178. package/src/quoted-span.ts +1 -1
  179. package/src/rule-load.ts +8 -0
  180. package/src/run-semantic.ts +28 -20
  181. package/src/run.ts +5 -1
  182. package/src/semantic.ts +11 -3
  183. package/src/span-merge.ts +13 -0
  184. package/src/speaker-labels.ts +129 -0
  185. package/src/stray-space.ts +81 -0
  186. package/src/structure/relative-resolve.ts +34 -19
  187. package/src/team-names.ts +13 -13
@@ -1,4 +1,4 @@
1
- import type { Span, Token } from "./plugin.ts";
1
+ import type { ProseDocument, Span, Token } from "./plugin.ts";
2
2
  /**
3
3
  * 日付・時刻として書かれた数(9月、3時、2026年、10月1日、10時5分)。数を詰めて書くのが決まりで、空け方の好みではない。
4
4
  * 長さ(3ヶ月、3時間、3日間)は別の語で書くので、ここには入らない。
@@ -13,14 +13,19 @@ export type CalendarUnits = {
13
13
  readonly positional: ReadonlySet<string>;
14
14
  readonly year: ReadonlySet<string>;
15
15
  };
16
- /** 日付・時刻の数の並び。first は日付の頭の数、inner は前の単位に続く数(2026年9月の 9)。 */
16
+ /** 日付・時刻の数の並び。first は日付の頭の数、inner は前の単位に続く数(2026年9月の 9)。unit は数の後ろの単位(月)。 */
17
17
  export type CalendarRun = {
18
18
  readonly run: Span;
19
19
  readonly place: "first" | "inner";
20
+ readonly unit: string;
20
21
  };
22
+ /** text の中の数の並び(数字・小数点・ハイフン)を左から。 */
23
+ export declare const digitRuns: (text: string) => Span[];
21
24
  /**
22
25
  * 文 text の中の、日付・時刻の数の並び。tokens は文書全体の座標で、base は text の先頭の位置。
23
26
  * 品詞が無ければ判断せず、何も返さない。
24
27
  */
25
28
  export declare const calendarRuns: (text: string, tokens: readonly Token[] | undefined, base: number, units: CalendarUnits) => CalendarRun[];
29
+ /** 文書の言語の、日付・時刻の単位の語彙表。表の無い言語では空で、日付・時刻の数は見つからない。 */
30
+ export declare const calendarUnitsOf: (doc: ProseDocument) => CalendarUnits;
26
31
  //# sourceMappingURL=calendar-number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-number.d.ts","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElJ,4DAA4D;AAC5D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,CAAC;AAiDpF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,SAAS,KAAK,EAAE,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,aAAa,KAAG,WAAW,EAMhI,CAAC"}
1
+ {"version":3,"file":"calendar-number.d.ts","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElJ,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ3G,qCAAqC;AACrC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,IAAI,EAS5C,CAAC;AA+BF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,SAAS,KAAK,EAAE,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,aAAa,KAAG,WAAW,EAMhI,CAAC;AAIF,qDAAqD;AACrD,eAAO,MAAM,eAAe,GAAI,KAAK,aAAa,KAAG,aAInD,CAAC"}
@@ -2,7 +2,7 @@ import { digitRunAround } from "./number-name.js";
2
2
  const DIGIT = /\d/u;
3
3
  const CALENDAR_YEAR = /^\d{4}$/u;
4
4
  /** text の中の数の並び(数字・小数点・ハイフン)を左から。 */
5
- const digitRuns = (text) => {
5
+ export const digitRuns = (text) => {
6
6
  const runs = [];
7
7
  let at = 0;
8
8
  while (at < text.length) {
@@ -23,7 +23,7 @@ const partOf = (text, run, tokens, base, units) => {
23
23
  if (unit === undefined || !isUnit(unit.surface, units))
24
24
  return undefined;
25
25
  const rank = units.chained.indexOf(unit.surface);
26
- return { run, unitEnd: unit.span.end - base, rank, anchored: isAnchor(text.slice(run.start, run.end), unit.surface, units) };
26
+ return { run, unit: unit.surface, unitEnd: unit.span.end - base, rank, anchored: isAnchor(text.slice(run.start, run.end), unit.surface, units) };
27
27
  };
28
28
  /** 前の組の単位のすぐ後ろ(空白 1 つまで)から始まり、単位が前より小さい組か。 */
29
29
  const continues = (text, previous, part) => previous !== undefined && previous.rank >= 0 && part.rank > previous.rank && part.run.start === pastSpace(text, previous.unitEnd);
@@ -46,6 +46,13 @@ export const calendarRuns = (text, tokens, base, units) => {
46
46
  const parts = digitRuns(text).flatMap((run) => partOf(text, run, tokens, base, units) ?? []);
47
47
  return chainsOf(text, parts)
48
48
  .filter((chain) => chain.some((part) => part.anchored))
49
- .flatMap((chain) => chain.map((part, index) => ({ run: part.run, place: index === 0 ? "first" : "inner" })));
49
+ .flatMap((chain) => chain.map((part, index) => ({ run: part.run, place: index === 0 ? "first" : "inner", unit: part.unit })));
50
50
  };
51
+ const patternList = (doc, id) => (doc.lexicons[id] ?? []).map((entry) => entry.pattern);
52
+ /** 文書の言語の、日付・時刻の単位の語彙表。表の無い言語では空で、日付・時刻の数は見つからない。 */
53
+ export const calendarUnitsOf = (doc) => ({
54
+ chained: patternList(doc, "date-time-unit"),
55
+ positional: new Set(patternList(doc, "calendar-unit")),
56
+ year: new Set(patternList(doc, "calendar-year-unit")),
57
+ });
51
58
  //# sourceMappingURL=calendar-number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-number.js","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar-number.js","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,MAAM,KAAK,GAAG,KAAK,CAAC;AACpB,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,qCAAqC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,oBAAoB;AACpB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzF,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAoB,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE/J,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,KAAoB,EAAW,EAAE,CAClF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3F,2DAA2D;AAC3D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAS,EAAE,MAAwB,EAAE,IAAY,EAAE,KAAoB,EAAoB,EAAE;IACzH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;AACnJ,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAA0B,EAAE,IAAU,EAAW,EAAE,CAClF,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEpI,6BAA6B;AAC7B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAsB,EAAY,EAAE,CAClE,KAAK,CAAC,MAAM,CAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAC5E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAoC,EAAE,IAAY,EAAE,KAAoB,EAAiB,EAAE;IACpI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/I,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEzH,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAiB,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC3C,UAAU,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACtD,IAAI,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;CACtD,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type CalendarUnits } from "./calendar-number.ts";
2
+ import type { ProseDocument, Section, Sentence } from "./plugin.ts";
3
+ /** 文書の一続きの文字列と、その中の文。base は text の先頭の位置で、文の span は文書全体の座標。 */
4
+ export type Passage = {
5
+ readonly text: string;
6
+ readonly base: number;
7
+ readonly sentences: readonly Sentence[];
8
+ };
9
+ /** 結びの節と、それより前の文書全体(見出し・表・コードも)。 */
10
+ export declare const closingAndEarlier: (doc: ProseDocument, last: Section) => {
11
+ closing: Passage;
12
+ earlier: Passage;
13
+ };
14
+ /**
15
+ * 結びの数のうち、それより前(見出し・表も)に書いていないもの(重ならないように、書いた順)。
16
+ * 前に同じ名前で書いた数(題の「9月」と結びの「9月」、本文の「412 件」と結びの「412 件」)は新しくない。
17
+ * 日付・時刻と数量は別のもので、本文の「9 件」があっても結びの「9月末」は新しく、題の「9月」があっても結びの「9 件」は新しい。
18
+ */
19
+ export declare const newNumbers: (closing: Passage, earlier: Passage, units: CalendarUnits) => string[];
20
+ //# sourceMappingURL=closing-numbers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closing-numbers.d.ts","sourceRoot":"","sources":["../src/closing-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AAE1E,8DAA8D;AAC9D,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE,CAAC;AAEhH,oCAAoC;AACpC,eAAO,MAAM,iBAAiB,GAAI,KAAK,aAAa,EAAE,MAAM,OAAO,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAGxG,CAAC;AAqDH;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,EAAE,SAAS,OAAO,EAAE,OAAO,aAAa,KAAG,MAAM,EAG3F,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { calendarRuns, digitRuns } from "./calendar-number.js";
2
+ /** 結びの節と、それより前の文書全体(見出し・表・コードも)。 */
3
+ export const closingAndEarlier = (doc, last) => ({
4
+ closing: { text: doc.source.slice(last.span.start, last.span.end), base: last.span.start, sentences: last.sentences },
5
+ earlier: { text: doc.source.slice(0, last.span.start), base: 0, sentences: doc.sentences.filter((sentence) => sentence.span.end <= last.span.start) },
6
+ });
7
+ const DIGIT = /\d/u;
8
+ /** 最後の数字まで。文末の「412.」の点や、範囲の「3-」のハイフンは数の一部ではない。前のハイフンは符号(-1%)なので残す。 */
9
+ const valueOf = (text, run) => {
10
+ const raw = text.slice(run.start, run.end);
11
+ const lastDigit = [...raw].findLastIndex((char) => DIGIT.test(char));
12
+ return raw.slice(0, lastDigit + 1);
13
+ };
14
+ /** passage の中で、品詞の付いた文の字。見出しや表の字は文ではないので付かない。 */
15
+ const taggedChars = (passage) => {
16
+ const tagged = new Uint8Array(passage.text.length);
17
+ passage.sentences
18
+ .filter((sentence) => sentence.tokens !== undefined)
19
+ .forEach((sentence) => tagged.fill(1, Math.max(0, sentence.span.start - passage.base), Math.max(0, sentence.span.end - passage.base)));
20
+ return tagged;
21
+ };
22
+ /** 文の中の日付・時刻の数の単位を、passage の中の位置で。文ごとに読むので、長い文書でも語を探す範囲は文の中だけ。 */
23
+ const calendarUnitsAt = (passage, units) => new Map(passage.sentences.flatMap((sentence) => calendarRuns(sentence.text, sentence.tokens, sentence.span.start, units).map(({ run, unit }) => [
24
+ sentence.span.start - passage.base + run.start,
25
+ unit,
26
+ ])));
27
+ /** 品詞の無いところの数の、すぐ後ろ(空白 1 つまで)に字面で続く日付・時刻の単位のうち、いちばん長いもの。無ければ空。 */
28
+ const unitAsWritten = (text, run, units) => {
29
+ const at = text[run.end] === " " ? run.end + 1 : run.end;
30
+ const following = [...units.chained, ...units.positional, ...units.year].filter((unit) => text.startsWith(unit, at));
31
+ return following.reduce((longest, unit) => (unit.length > longest.length ? unit : longest), "");
32
+ };
33
+ /**
34
+ * passage の中の数の、比べるときの名前を左から。日付・時刻の数は単位ごと(9月)、それ以外は数そのもの(412)。
35
+ * 文の中は品詞で見分ける(calendar-number.ts)。見出しや表は品詞が無いので、数の後ろの字で見分ける(題の「9月の報告」)。
36
+ */
37
+ const numberKeys = (passage, units) => {
38
+ const unitAt = calendarUnitsAt(passage, units);
39
+ const tagged = taggedChars(passage);
40
+ return digitRuns(passage.text).map((run) => {
41
+ const value = valueOf(passage.text, run);
42
+ const firstDigit = run.start + passage.text.slice(run.start, run.end).search(DIGIT);
43
+ const unit = tagged[firstDigit] === 1 ? (unitAt.get(run.start) ?? "") : unitAsWritten(passage.text, run, units);
44
+ return `${value}${unit}`;
45
+ });
46
+ };
47
+ /**
48
+ * 結びの数のうち、それより前(見出し・表も)に書いていないもの(重ならないように、書いた順)。
49
+ * 前に同じ名前で書いた数(題の「9月」と結びの「9月」、本文の「412 件」と結びの「412 件」)は新しくない。
50
+ * 日付・時刻と数量は別のもので、本文の「9 件」があっても結びの「9月末」は新しく、題の「9月」があっても結びの「9 件」は新しい。
51
+ */
52
+ export const newNumbers = (closing, earlier, units) => {
53
+ const stated = new Set(numberKeys(earlier, units));
54
+ return [...new Set(numberKeys(closing, units).filter((key) => !stated.has(key)))];
55
+ };
56
+ //# sourceMappingURL=closing-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closing-numbers.js","sourceRoot":"","sources":["../src/closing-numbers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAWA,OAAO,EAA8D,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAI5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAC;AAI5D,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAmDvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzG,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5F,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,mHAAmH;IACnH,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,cAAc,CAAC,CAAC;CAC3E,CAAC;AAiEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,MAAM,CAoDvH,CAAC"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAWA,OAAO,EAA8D,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAI5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,cAAc,CAAC;AAI3E,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAmDvE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzG,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC5F,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,mHAAmH;IACnH,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,cAAc,CAAC,CAAC;CAC3E,CAAC;AAsEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,MAAM,CAoDvH,CAAC"}
@@ -11,7 +11,7 @@ import { counted } from "../render/plural.js";
11
11
  import { CHECKS_FILE, loadChecks } from "../checks.js";
12
12
  import { CACHE_DIR, credentialHint, describeFailure, hasCredentials } from "../judge.js";
13
13
  import { ENV_FILE, loadEnvFile } from "../env.js";
14
- import { planSemantic, runSemantic } from "../run-semantic.js";
14
+ import { planSemantic, runSemantic, semanticNeeds } from "../run-semantic.js";
15
15
  import { machineBanner, renderPlan, renderSemantic } from "../render/semantic.js";
16
16
  import { profileFor } from "../profile/for-file.js";
17
17
  import { CLI_TEXT } from "../cli-text.js";
@@ -49,24 +49,26 @@ const TEXT = {
49
49
  },
50
50
  };
51
51
  const DIVIDER = "─".repeat(60);
52
- const judgeAll = async (paths, config, checks, options, resolveGenre) => Promise.all(paths.map(async (path) => {
52
+ /** 意味を読む検査に渡す文書。絞り込みが品詞を使うなら、解析器を読み込んでから作る。dry-run も本番も同じ文書を見る。 */
53
+ const semanticDocument = async (path, config, resolveGenre) => {
53
54
  const source = plainSource(await readFile(path, "utf8"));
54
55
  const language = applyByPath(config.byPath, config.baseDir, path).language ?? config.language ?? guessLanguage(source).language;
55
56
  const adapter = await loadAdapter(language);
56
57
  const { genre } = resolveGenre(path, source, config);
57
- const doc = buildDocument(path, source, adapter, teamRules(config), profileFor(config, path, source, language, genre));
58
58
  const rules = loadRules(language);
59
+ await adapter.prepare?.(semanticNeeds(rules, config.rules, genre));
60
+ const doc = buildDocument(path, source, adapter, teamRules(config), profileFor(config, path, source, language, genre));
61
+ return { doc, rules, language, genre };
62
+ };
63
+ const judgeAll = async (paths, config, checks, options, resolveGenre) => Promise.all(paths.map(async (path) => {
64
+ const { doc, rules, language, genre } = await semanticDocument(path, config, resolveGenre);
59
65
  return { path, outcome: await runSemantic(doc, rules, checks, config.rules, genre, options), rules, language };
60
66
  }));
61
67
  /** API を呼ばずに、何が送られるかだけを出す。鍵が無くても二段構えの 1 段目を確かめられる。 */
62
68
  const dryRun = async (paths, config, checks, resolveGenre, closing) => {
63
69
  const plans = await Promise.all(paths.map(async (path) => {
64
- const source = plainSource(await readFile(path, "utf8"));
65
- const language = applyByPath(config.byPath, config.baseDir, path).language ?? config.language ?? guessLanguage(source).language;
66
- const adapter = await loadAdapter(language);
67
- const { genre } = resolveGenre(path, source, config);
68
- const doc = buildDocument(path, source, adapter, teamRules(config), profileFor(config, path, source, language, genre));
69
- return { path, jobs: planSemantic(doc, loadRules(language), checks, config.rules, genre), sentences: doc.sentences.length, language };
70
+ const { doc, rules, language, genre } = await semanticDocument(path, config, resolveGenre);
71
+ return { path, jobs: planSemantic(doc, rules, checks, config.rules, genre), sentences: doc.sentences.length, language };
70
72
  }));
71
73
  plans.forEach(({ path, jobs, sentences, language }) => console.log(renderPlan(path, jobs, sentences, language).join("\n")));
72
74
  const total = plans.reduce((sum, plan) => sum + plan.jobs.reduce((count, job) => count + job.candidates.length, 0), 0);
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIlF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAA+B,MAAM,UAAU,CAAC;AAEvE,MAAM,IAAI,GAcL;IACH,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,sCAAsC;QACrE,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,OAAO,MAAM,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;QAC3F,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,UAAU;QACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,kBAAkB,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC;QAChH,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,sBAAsB,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,KAAK,GAAG,EAAE,sBAAsB,CAAC;QAC/G,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,eAAe;QACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,kBAAkB,MAAM,IAAI;QACpE,QAAQ,EAAE,mCAAmC;QAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,iBAAiB,MAAM,IAAI;QACjE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,MAAM,MAAM,UAAU;QAC/D,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,OAAO,WAAW,EAAE,IAAI;QACxD,SAAS,EAAE,4BAA4B;KACxC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,+DAA+D;QAC/G,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,OAAO,MAAM,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,GAAG;QACzH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,GAAG;QACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,QAAQ,6BAA6B,QAAQ,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;QAC3I,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,+CAA+C,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,KAAK,GAAG,EAAE,4BAA4B,CAAC;QAC9I,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gCAAgC,OAAO,GAAG;QACtE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,4BAA4B,MAAM,IAAI;QAC9E,QAAQ,EAAE,+DAA+D;QACzE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,2CAA2C,MAAM,IAAI;QAC3F,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,MAAM,GAAG;QAC/D,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,iBAAiB,EAAE,QAAQ;QAC/D,SAAS,EAAE,4DAA4D;KACxE;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAkB/B,MAAM,QAAQ,GAAG,KAAK,EACpB,KAAwB,EACxB,MAAc,EACd,MAA4B,EAC5B,OAA0C,EAC1C,YAAyC,EACtB,EAAE,CACrB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACvB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAChI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACvH,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjH,CAAC,CAAC,CACH,CAAC;AAEJ,sDAAsD;AACtD,MAAM,MAAM,GAAG,KAAK,EAClB,KAAwB,EACxB,MAAc,EACd,MAA4B,EAC5B,YAAyC,EACzC,OAAgF,EACjE,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;QAChI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACxI,CAAC,CAAC,CACH,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5H,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7J,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,OAAoB,EAAE,QAAoB,EAAiC,EAAE;IAChH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC/H,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,OAA2B,EAAE,QAAoB,EAAU,EAAE,CAC5G,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,OAA0B,EAAE,IAAuB,EAAE,OAAoB,EAAmB,EAAE;IAC1H,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClD,6CAA6C;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EACxC,OAAO,CAAC,EAAE,CACX,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,4CAA4C;IAC5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtI,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,OAAO,EAAE,MAAM,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;QACxC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,GAAG,OAAO,CAAC,OAAO;KACnB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACrG,6CAA6C;QAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO;QAC7E,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvH,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export type NotationWords = {
18
18
  readonly divisions: readonly string[];
19
19
  /** 速記録が大文字で書く発言者の姓の前に置く敬称(Mr.、Mrs.、Madam)。 */
20
20
  readonly honorifics: readonly string[];
21
+ /** 大文字で書く姓の前に置く肩書き(Prime Minister、Governor)。後ろに略語も来る(the President NASA memo)ので、名前の形を求める。 */
22
+ readonly titles: readonly string[];
21
23
  /** 日付・時刻の数字の後ろに書く単位(年、月、日、時、分)。その前の同じ大文字の繰り返し(YY年)は書式の置き場所。 */
22
24
  readonly dateTimeUnits: readonly string[];
23
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"acronym-context.d.ts","sourceRoot":"","sources":["../../src/detectors/acronym-context.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AAEH,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AAkCF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,KAAG,eAWxD,CAAC"}
1
+ {"version":3,"file":"acronym-context.d.ts","sourceRoot":"","sources":["../../src/detectors/acronym-context.ts"],"names":[],"mappings":"AASA;;;;GAIG;AAEH,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AA8CF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,KAAG,eAYxD,CAAC"}
@@ -2,6 +2,7 @@ import { escapeRegExp } from "../orthography.js";
2
2
  import { ROMAN_NUMERAL } from "./roman-numeral.js";
3
3
  import { citationKeySpans } from "./citation-key.js";
4
4
  import { dottedNameSpans } from "./dotted-name.js";
5
+ import { letterJoinedNameSpans } from "./letter-joined-name.js";
5
6
  import { loneNumeralSpans, nameNumeralSpans } from "./name-numeral.js";
6
7
  import { placeholderSpans } from "./placeholder.js";
7
8
  import { seriesLabelSpans } from "./series-label.js";
@@ -21,6 +22,16 @@ const AMOUNT = String.raw `(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?`;
21
22
  const divisionOf = (words) => oneOf(words.flatMap((word) => [word, word.toUpperCase()]));
22
23
  /** 敬称のすぐ後ろの大文字の姓(Mr. HAWLEY、Dr. O'NEIL)。速記録は発言者をこう書き、略語ではない。 */
23
24
  const SURNAME_IN_CAPITALS = String.raw `[A-Z]+(?:['’-][A-Z]+)*(?![\p{L}\p{N}_])`;
25
+ /**
26
+ * 肩書きの後ろの大文字の語が姓と読めるのは、名前の形のときだけ。行頭の発言者の印(Senator HAWLEY.、Chairman JORDAN:)か、
27
+ * 日本政府の英文が「姓 名」の順に書くローマ字の名前(Prime Minister ABE Shinzo)。the President NASA memo と
28
+ * The Secretary GDPR: Article 5 の略語は数える。
29
+ */
30
+ const GIVEN_NAME_AFTER = String.raw `(?=\s+\p{Lu}\p{Ll}+(?![\p{L}\p{N}_]))`;
31
+ const titledName = (titles) => [
32
+ new RegExp(String.raw `(?<=(?:^|\n)[ \t]*)${titles}\s+${SURNAME_IN_CAPITALS}(?=[.:])`, "gu"),
33
+ new RegExp(String.raw `(?<![\p{L}\p{N}_])${titles}\s+${SURNAME_IN_CAPITALS}${GIVEN_NAME_AFTER}`, "gu"),
34
+ ];
24
35
  // 強調の記号は空白に置き換えてある(**3:30** PM)ので、部品の間の空白は数を問わない。
25
36
  const patternsOf = (words) => [
26
37
  new RegExp(String.raw `${CLOCK_12}\s*${oneOf(words.meridiem)}`, "gu"),
@@ -31,6 +42,7 @@ const patternsOf = (words) => [
31
42
  new RegExp(oneOf(words.emphasis), "gu"),
32
43
  new RegExp(String.raw `(?<![\p{L}\p{N}_])${divisionOf(words.divisions)}\s+${ROMAN_NUMERAL}(?![\p{L}\p{N}_&])`, "gu"),
33
44
  new RegExp(String.raw `(?<![\p{L}\p{N}_])${oneOf(words.honorifics)}\s+${SURNAME_IN_CAPITALS}`, "gu"),
45
+ ...titledName(oneOf(words.titles)),
34
46
  ];
35
47
  /**
36
48
  * 文の中で、略語として数えない大文字を含む範囲。語彙表から一度だけ組み立てて、文ごとに呼ぶ。
@@ -42,6 +54,7 @@ export const notAcronymSpansOf = (words) => {
42
54
  ...patterns.flatMap((pattern) => [...text.matchAll(pattern)].map((match) => ({ start: match.index, end: match.index + match[0].length }))),
43
55
  ...citationKeySpans(text),
44
56
  ...dottedNameSpans(text),
57
+ ...letterJoinedNameSpans(text),
45
58
  ...nameNumeralSpans(text),
46
59
  ...loneNumeralSpans(text),
47
60
  ...seriesLabelSpans(text),
@@ -1 +1 @@
1
- {"version":3,"file":"acronym-context.js","sourceRoot":"","sources":["../../src/detectors/acronym-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acronym-context.js","sourceRoot":"","sources":["../../src/detectors/acronym-context.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export type DefinitionWords = {
13
13
  * 語の頭文字ではなく語の途中の文字も使う(overnight reverse repurchase agreement → ON RRP)。見る語は略語の文字数の 2 倍まで。
14
14
  */
15
15
  export declare const abbreviates: (name: string, acronym: string) => boolean;
16
+ /** 用語集の見出し語として、すぐ後ろに名前を書いた略語。 */
17
+ export declare const termEntryAcronyms: (source: string) => ReadonlySet<string>;
16
18
  export type ExpandedAt = (body: string, acronym: string, at: number) => boolean;
17
19
  /** body の at にある略語が、その場で展開・定義されているか。語彙表から一度だけ組み立てて、略語ごとに呼ぶ。 */
18
20
  export declare const expansionAt: (words: DefinitionWords) => ExpandedAt;
@@ -1 +1 @@
1
- {"version":3,"file":"acronym-expansion.d.ts","sourceRoot":"","sources":["../../src/detectors/acronym-expansion.ts"],"names":[],"mappings":"AA4DA;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAK5D,CAAC;AAwBF,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAgCzG;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAI3D,CAAC;AAmCF,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;AAEhF,+DAA+D;AAC/D,eAAO,MAAM,WAAW,GAAI,OAAO,eAAe,KAAG,UAGpD,CAAC"}
1
+ {"version":3,"file":"acronym-expansion.d.ts","sourceRoot":"","sources":["../../src/detectors/acronym-expansion.ts"],"names":[],"mappings":"AA6DA;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAK5D,CAAC;AAwBF,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAgCzG;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAI3D,CAAC;AA+JF,iCAAiC;AACjC,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CAGpE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;AAEhF,+DAA+D;AAC/D,eAAO,MAAM,WAAW,GAAI,OAAO,eAAe,KAAG,UAGpD,CAAC"}
@@ -11,6 +11,7 @@ import { escapeRegExp } from "../orthography.js";
11
11
  * (single nucleotide polymorphism:SNP) 括弧の最後の項目が略語で、コロンの前の語の頭文字と揃う
12
12
  * 人事部(以下「HR」という。) 括弧の中が定義の語と略語だけ
13
13
  * overnight reverse repurchase agreement (ON RRP) 括弧の中が空白で繋いだ略語だけで、前の名前から文字が順に拾える
14
+ * Partnership On Wide Energy and Resources Resilience Asia (POWERR Asia) 括弧の中が略語と添えた語で、前の名前の頭文字と揃う
14
15
  * 括弧と略語の間には、引用符((“MNDA”)、(「MNDA」))と空白だけを許す。
15
16
  */
16
17
  const WRAP = String.raw `[\s"“”'‘’「」『』]*`;
@@ -128,6 +129,22 @@ const isJointBracketedAt = (body, acronym, at) => {
128
129
  return false;
129
130
  return abbreviates(body.slice(0, start), body.slice(start, close));
130
131
  };
132
+ /** 括弧の中で略語に添えた、大文字で始まる語((POWERR Asia)、(ZEC Initiative))と、閉じる括弧。 */
133
+ const QUALIFIER = new RegExp(String.raw `^(?<words>(?: [A-Z][a-z]+)+)${WRAP}[))]`, "u");
134
+ /**
135
+ * 括弧の中が略語と、それに添えた語だけの形。括弧の前の名前の頭文字が略語と揃うときだけ展開と見なす((NASA Goddard) は揃わない)。
136
+ * 添えた語が名前の終わりにもあれば(… Resilience Asia (POWERR Asia))、それを除いて比べる。
137
+ */
138
+ const isQualifiedAt = (body, acronym, at) => {
139
+ if (!OPENED.test(body.slice(Math.max(0, at - NEAR), at)))
140
+ return false;
141
+ const end = at + acronym.length;
142
+ const words = QUALIFIER.exec(body.slice(end, end + DEFINITION_REACH))?.groups?.["words"];
143
+ if (words === undefined)
144
+ return false;
145
+ const name = body.slice(0, at).replace(ANY_OPENED, "").trimEnd();
146
+ return spellsOut(name.endsWith(words) ? name.slice(0, -words.length) : name, acronym);
147
+ };
131
148
  const isBracketedAt = (body, acronym, at) => {
132
149
  const after = body.slice(at + acronym.length, at + acronym.length + NEAR);
133
150
  const before = body.slice(Math.max(0, at - NEAR), at);
@@ -135,7 +152,7 @@ const isBracketedAt = (body, acronym, at) => {
135
152
  return true;
136
153
  if (SQUARE_OPENED.test(before) && SQUARE_CLOSES.test(after) && spellsOut(body.slice(0, at), acronym))
137
154
  return true;
138
- return isSeparatedAt(body, acronym, at) || isNamedBeforeAt(body, acronym, at) || isJointBracketedAt(body, acronym, at);
155
+ return isSeparatedAt(body, acronym, at) || isNamedBeforeAt(body, acronym, at) || isJointBracketedAt(body, acronym, at) || isQualifiedAt(body, acronym, at);
139
156
  };
140
157
  /**
141
158
  * 記号を = で定義する書き方(where N = number of cases, EH = total hours worked)。定義は記号の後ろの語。
@@ -144,6 +161,92 @@ const isBracketedAt = (body, acronym, at) => {
144
161
  */
145
162
  const EQUALS_DEFINITION = /^\s*[==]\s*(?=\p{L})\S*?[\p{Ll}\p{Lo}]/u;
146
163
  const isEqualsDefinedAt = (body, acronym, at) => EQUALS_DEFINITION.test(body.slice(at + acronym.length, at + acronym.length + DEFINITION_REACH));
164
+ /**
165
+ * 用語集の見出し語としての略語(## AFD、| AFD |、**AFD**:、- AFD —)。名前は見出し語のすぐ後ろ、つまり次の行・隣のセル・
166
+ * 区切りの後ろに書く。見出しと表は文にならないので、文をつないだ本文ではなく source の行を見る。
167
+ */
168
+ const TERM = String.raw `[A-Z][A-Z&-]*[A-Z]`;
169
+ const STRONG = /\*\*|__/gu;
170
+ const LIST_MARK = String.raw `(?:[-*+]|\d+[.)])\s+`;
171
+ const TERM_SEPARATOR = String.raw `(?:[::]|\s[-–—]|[–—])`;
172
+ /** 行が略語だけの見出し・段落(## AFD、AFD:、**AFD**)。 */
173
+ const TERM_LINE = new RegExp(String.raw `^(?:#{1,6}\s+)?(?<term>${TERM})\s*(?<colon>[::])?(?:\s+#+)?$`, "u");
174
+ /** 見出しか強調の印。印の無い「RTO:」の行はメモの見出しにも書くので、コロンを付けた略語だけの行は印があるときだけ見出し語と読む。 */
175
+ const MARKED_LINE = /^(?:#|\*\*|__)/u;
176
+ /**
177
+ * 箇条書きの頭の略語と区切りの後ろの名前(- AFD — Area…)か、強調した略語とその後ろの名前(**AFD**: Area…、**AFD** Area…)。
178
+ * 印の無い行頭の略語とコロン(RTO: Review ticket ownership.)は、メモの見出しにも書くので見出し語と読まない。
179
+ */
180
+ const TERM_LEAD = new RegExp(String.raw `^(?:(?:${LIST_MARK})?(?<strong>\*\*|__)(?<strongTerm>${TERM})\s*(?:[::]\s*)?\k<strong>\s*${TERM_SEPARATOR}?|${LIST_MARK}(?<term>${TERM})\s*${TERM_SEPARATOR})\s*(?<rest>\S.*)$`, "u");
181
+ const TABLE_ROW = /^\s*\|.*\|\s*$/u;
182
+ const WHOLE_TERM = new RegExp(String.raw `^${TERM}$`, "u");
183
+ /** 名前の終わり。文の終わり、区切り、括弧、空白で挟んだハイフン。読点は名前の中にも書く(Aviation, Range, and Aerospace Meteorology)ので、その前でも比べる。 */
184
+ const NAME_END = /[.;::((。|]|\s[-–—]\s|[–—]/u;
185
+ const NAME_COMMA = /[,,、]/u;
186
+ const LEADING_MARKS = /^[\s::>*+-]+/u;
187
+ /** 項目の頭の名前と、その読点の前まで(Service Level Agreement, a contract → Service Level Agreement)。 */
188
+ const namesOf = (text) => {
189
+ const clause = (text.replaceAll(STRONG, "").replace(LEADING_MARKS, "").split(NAME_END)[0] ?? "").trim();
190
+ return [clause, (clause.split(NAME_COMMA)[0] ?? "").trim()].filter((name) => name !== "");
191
+ };
192
+ /** 1 語の名前を縮めた略語(ABV → Above、ABNDT → Abundant)。名前は小文字を含む語で、略語そのもの(SEO.)ではない。 */
193
+ const shortensWord = (name, acronym) => !/\s/u.test(name) && /\p{Ll}/u.test(name) && abbreviates(name, acronym);
194
+ const spellsName = (text, acronym) => namesOf(text).some((name) => namesAcronym(name, acronym) || shortensWord(name, acronym));
195
+ const cellsOf = (row) => row
196
+ .trim()
197
+ .replace(/^\||\|$/gu, "")
198
+ .split("|")
199
+ .map((cell) => cell.replaceAll(STRONG, "").trim());
200
+ /** 表の行で、略語だけのセルの隣(後ろか前)のセルが名前のもの。 */
201
+ const tableTerms = (row) => {
202
+ const cells = cellsOf(row);
203
+ return cells.filter((cell, index) => WHOLE_TERM.test(cell) && [cells[index + 1], cells[index - 1]].some((next) => next !== undefined && spellsName(next, cell)));
204
+ };
205
+ const leadTerm = (line) => {
206
+ const lead = TERM_LEAD.exec(line.trim());
207
+ const term = lead?.groups?.["strongTerm"] ?? lead?.groups?.["term"];
208
+ return term !== undefined && spellsName(lead?.groups?.["rest"] ?? "", term) ? [term] : [];
209
+ };
210
+ /** 見出し語から名前までに見る行の数。空行が 2 つ挟まっても、次の段落を見る。 */
211
+ const NEXT_LINE_REACH = 3;
212
+ /** 略語だけの行と、その次の空でない行が名前のもの。 */
213
+ const lineTerm = (lines, index) => {
214
+ const line = (lines[index] ?? "").trim();
215
+ const groups = TERM_LINE.exec(line.replaceAll(STRONG, ""))?.groups;
216
+ const term = groups?.["term"];
217
+ if (term === undefined || (groups?.["colon"] !== undefined && !MARKED_LINE.test(line)))
218
+ return [];
219
+ const next = lines.slice(index + 1, index + 1 + NEXT_LINE_REACH).find((line) => line.trim() !== "");
220
+ return next !== undefined && spellsName(next, term) ? [term] : [];
221
+ };
222
+ const FENCE = /^ {0,3}(?<fence>`{3,}|~{3,})/u;
223
+ const FRONT_MATTER_EDGE = /^(?:---|\.\.\.)\s*$/u;
224
+ /** 閉じる行は記号の並びだけ。後ろに語がある行(```ts)は囲みの中の行。 */
225
+ const CLOSING_FENCE = /^ {0,3}(?<fence>`{3,}|~{3,})\s*$/u;
226
+ const closes = (line, open) => CLOSING_FENCE.exec(line)?.groups?.["fence"]?.startsWith(open) === true;
227
+ /** コードの囲みの中の行(開き・閉じの行も)を空にする。閉じるのは同じ記号で、開きと同じか長い並び。 */
228
+ const withoutFences = (lines) => lines.reduce((scan, line) => {
229
+ const fence = FENCE.exec(line)?.groups?.["fence"];
230
+ const inside = scan.open !== undefined || fence !== undefined;
231
+ scan.kept.push(inside ? "" : line);
232
+ if (scan.open === undefined)
233
+ return { open: fence, kept: scan.kept };
234
+ return { open: closes(line, scan.open) ? undefined : scan.open, kept: scan.kept };
235
+ }, { open: undefined, kept: [] }).kept;
236
+ /** 文書の頭の front matter(--- で始まり --- か ... で閉じる)の行数。無ければ 0。 */
237
+ const frontMatterLength = (lines) => lines[0]?.trim() === "---" ? lines.findIndex((line, index) => index > 0 && FRONT_MATTER_EDGE.test(line)) + 1 : 0;
238
+ /** 4 桁以上の字下げはコードとして書ける。入れ子の箇条書きと見分けずに外す(外しても、略語が報告されるほうへ倒れるだけ)。 */
239
+ const INDENTED = /^(?: {4}|\t)/u;
240
+ /** 本文として読まない行(front matter、コードの囲み、字下げしたコード)を空にした行。行の位置は変えない。 */
241
+ const proseLines = (lines) => {
242
+ const skipped = frontMatterLength(lines);
243
+ return withoutFences(lines.map((line, index) => (index < skipped || INDENTED.test(line) ? "" : line)));
244
+ };
245
+ /** 用語集の見出し語として、すぐ後ろに名前を書いた略語。 */
246
+ export const termEntryAcronyms = (source) => {
247
+ const lines = proseLines(source.split(/\r?\n/u));
248
+ return new Set(lines.flatMap((line, index) => (TABLE_ROW.test(line) ? tableTerms(line) : [...lineTerm(lines, index), ...leadTerm(line)])));
249
+ };
147
250
  /** body の at にある略語が、その場で展開・定義されているか。語彙表から一度だけ組み立てて、略語ごとに呼ぶ。 */
148
251
  export const expansionAt = (words) => {
149
252
  const patterns = definitionPatterns(words);
@@ -1 +1 @@
1
- {"version":3,"file":"acronym-expansion.js","sourceRoot":"","sources":["../../src/detectors/acronym-expansion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acronym-expansion.js","sourceRoot":"","sources":["../../src/detectors/acronym-expansion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Detector, Lexicon, Token } from "../plugin.ts";
2
+ /**
3
+ * 語の形が合っていない(a significant changes / one of the most important feature / Your can check)。
4
+ * 書き換えで片方の語だけ直した跡。解析器の読みが一通りに決まる形だけを数える。語はすべてアダプタの語彙表から来る。
5
+ */
6
+ export type AgreementLists = {
7
+ /** 一つを数える限定詞(a / each)。 */
8
+ readonly singular: Lexicon;
9
+ /** 複数を数える限定詞と句(these / one of the)。 */
10
+ readonly plural: Lexicon;
11
+ /** 単数と複数が同じ綴りの名詞(series / data)。 */
12
+ readonly invariant: ReadonlySet<string>;
13
+ /** 単数の限定詞で複数を数える形容詞(a few days)。 */
14
+ readonly count: ReadonlySet<string>;
15
+ /** 名詞の前にしか立たない所有の語(your / their)。 */
16
+ readonly possessive: ReadonlySet<string>;
17
+ /** 名詞にならない be / have の形(is / has)。 */
18
+ readonly finite: ReadonlySet<string>;
19
+ /** 単数で書く所を複数で書いた句(ones of the most)。 */
20
+ readonly misnumbered: Lexicon;
21
+ };
22
+ export type Slip = {
23
+ readonly variant: "number" | "possessive";
24
+ readonly first: Token;
25
+ readonly last: Token;
26
+ readonly word: string;
27
+ };
28
+ /** 名詞の後ろの語で、名詞句が終わるか。分詞(a data driven approach)も名詞を重ねた語の途中。 */
29
+ export declare const endsNounPhrase: (next: Token | undefined, finite: ReadonlySet<string>) => boolean;
30
+ export declare const agreementIn: (source: string, tokens: readonly Token[], lists: AgreementLists) => Slip[];
31
+ export declare const agreementSlip: Detector;
32
+ //# sourceMappingURL=agreement-slip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-slip.d.ts","sourceRoot":"","sources":["../../src/detectors/agreement-slip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGtE;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAuBrI,+DAA+D;AAC/D,eAAO,MAAM,cAAc,GAAI,MAAM,KAAK,GAAG,SAAS,EAAE,QAAQ,WAAW,CAAC,MAAM,CAAC,KAAG,OAGrF,CAAC;AA2GF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,QAAQ,SAAS,KAAK,EAAE,EAAE,OAAO,cAAc,KAAG,IAAI,EAI9F,CAAC;AAcL,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAC"}