chaffjs 0.6.0 → 0.8.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 (159) hide show
  1. package/README.md +11 -4
  2. package/dist/adapter-load.d.ts +12 -1
  3. package/dist/adapter-load.d.ts.map +1 -1
  4. package/dist/adapter-load.js +37 -13
  5. package/dist/adapter-load.js.map +1 -1
  6. package/dist/cli-args.d.ts +8 -0
  7. package/dist/cli-args.d.ts.map +1 -0
  8. package/dist/cli-args.js +8 -0
  9. package/dist/cli-args.js.map +1 -0
  10. package/dist/cli-text.d.ts +26 -0
  11. package/dist/cli-text.d.ts.map +1 -0
  12. package/dist/cli-text.js +151 -0
  13. package/dist/cli-text.js.map +1 -0
  14. package/dist/cli.d.ts +2 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +83 -86
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/cite.d.ts +2 -1
  19. package/dist/commands/cite.d.ts.map +1 -1
  20. package/dist/commands/cite.js +39 -18
  21. package/dist/commands/cite.js.map +1 -1
  22. package/dist/commands/eval.d.ts.map +1 -1
  23. package/dist/commands/eval.js +1 -1
  24. package/dist/commands/eval.js.map +1 -1
  25. package/dist/commands/skill.d.ts +22 -0
  26. package/dist/commands/skill.d.ts.map +1 -0
  27. package/dist/commands/skill.js +68 -0
  28. package/dist/commands/skill.js.map +1 -0
  29. package/dist/commands/tree.d.ts +11 -1
  30. package/dist/commands/tree.d.ts.map +1 -1
  31. package/dist/commands/tree.js +18 -6
  32. package/dist/commands/tree.js.map +1 -1
  33. package/dist/config/load.d.ts +9 -0
  34. package/dist/config/load.d.ts.map +1 -1
  35. package/dist/config/load.js +27 -1
  36. package/dist/config/load.js.map +1 -1
  37. package/dist/config/rule-problems.d.ts +11 -0
  38. package/dist/config/rule-problems.d.ts.map +1 -0
  39. package/dist/config/rule-problems.js +31 -0
  40. package/dist/config/rule-problems.js.map +1 -0
  41. package/dist/config/write.d.ts.map +1 -1
  42. package/dist/config/write.js +29 -9
  43. package/dist/config/write.js.map +1 -1
  44. package/dist/detectors/index.d.ts.map +1 -1
  45. package/dist/detectors/index.js +3 -0
  46. package/dist/detectors/index.js.map +1 -1
  47. package/dist/detectors/orthography.d.ts +9 -0
  48. package/dist/detectors/orthography.d.ts.map +1 -0
  49. package/dist/detectors/orthography.js +51 -0
  50. package/dist/detectors/orthography.js.map +1 -0
  51. package/dist/document.d.ts +3 -0
  52. package/dist/document.d.ts.map +1 -1
  53. package/dist/document.js +13 -3
  54. package/dist/document.js.map +1 -1
  55. package/dist/eval.d.ts +5 -1
  56. package/dist/eval.d.ts.map +1 -1
  57. package/dist/eval.js +10 -5
  58. package/dist/eval.js.map +1 -1
  59. package/dist/genre.d.ts +1 -1
  60. package/dist/genre.d.ts.map +1 -1
  61. package/dist/genre.js +3 -3
  62. package/dist/genre.js.map +1 -1
  63. package/dist/heading-text.d.ts +14 -0
  64. package/dist/heading-text.d.ts.map +1 -0
  65. package/dist/heading-text.js +28 -0
  66. package/dist/heading-text.js.map +1 -0
  67. package/dist/init.d.ts +2 -1
  68. package/dist/init.d.ts.map +1 -1
  69. package/dist/init.js +62 -13
  70. package/dist/init.js.map +1 -1
  71. package/dist/orthography.d.ts +21 -0
  72. package/dist/orthography.d.ts.map +1 -0
  73. package/dist/orthography.js +110 -0
  74. package/dist/orthography.js.map +1 -0
  75. package/dist/plugin.d.ts +6 -0
  76. package/dist/plugin.d.ts.map +1 -1
  77. package/dist/reasons.d.ts +15 -0
  78. package/dist/reasons.d.ts.map +1 -0
  79. package/dist/reasons.js +29 -0
  80. package/dist/reasons.js.map +1 -0
  81. package/dist/render/explain.d.ts.map +1 -1
  82. package/dist/render/explain.js +36 -12
  83. package/dist/render/explain.js.map +1 -1
  84. package/dist/render/friendly.d.ts.map +1 -1
  85. package/dist/render/friendly.js +32 -9
  86. package/dist/render/friendly.js.map +1 -1
  87. package/dist/render/rules-json.d.ts.map +1 -1
  88. package/dist/render/rules-json.js +57 -27
  89. package/dist/render/rules-json.js.map +1 -1
  90. package/dist/render/summary.d.ts +3 -2
  91. package/dist/render/summary.d.ts.map +1 -1
  92. package/dist/render/summary.js +24 -9
  93. package/dist/render/summary.js.map +1 -1
  94. package/dist/render/suppressions.d.ts +2 -1
  95. package/dist/render/suppressions.d.ts.map +1 -1
  96. package/dist/render/suppressions.js +34 -10
  97. package/dist/render/suppressions.js.map +1 -1
  98. package/dist/run.d.ts +3 -1
  99. package/dist/run.d.ts.map +1 -1
  100. package/dist/run.js +22 -13
  101. package/dist/run.js.map +1 -1
  102. package/dist/structure/build.d.ts.map +1 -1
  103. package/dist/structure/build.js +19 -10
  104. package/dist/structure/build.js.map +1 -1
  105. package/dist/structure/cite.d.ts.map +1 -1
  106. package/dist/structure/cite.js +3 -1
  107. package/dist/structure/cite.js.map +1 -1
  108. package/dist/structure/issues.d.ts +5 -2
  109. package/dist/structure/issues.d.ts.map +1 -1
  110. package/dist/structure/issues.js +27 -9
  111. package/dist/structure/issues.js.map +1 -1
  112. package/dist/structure/numbering.d.ts.map +1 -1
  113. package/dist/structure/numbering.js +11 -6
  114. package/dist/structure/numbering.js.map +1 -1
  115. package/dist/ui.d.ts +14 -0
  116. package/dist/ui.d.ts.map +1 -0
  117. package/dist/ui.js +14 -0
  118. package/dist/ui.js.map +1 -0
  119. package/dist/watch.d.ts +1 -1
  120. package/dist/watch.d.ts.map +1 -1
  121. package/dist/watch.js +2 -2
  122. package/dist/watch.js.map +1 -1
  123. package/package.json +3 -2
  124. package/rules/latin-spacing.yaml +27 -0
  125. package/rules/preferred-term.yaml +27 -0
  126. package/skills/chaff/SKILL.md +61 -0
  127. package/src/adapter-load.ts +41 -10
  128. package/src/cli-args.ts +9 -0
  129. package/src/cli-text.ts +182 -0
  130. package/src/cli.ts +100 -89
  131. package/src/commands/cite.ts +51 -18
  132. package/src/commands/eval.ts +1 -0
  133. package/src/commands/skill.ts +74 -0
  134. package/src/commands/tree.ts +27 -7
  135. package/src/config/load.ts +43 -1
  136. package/src/config/rule-problems.ts +43 -0
  137. package/src/config/write.ts +33 -9
  138. package/src/detectors/index.ts +3 -0
  139. package/src/detectors/orthography.ts +55 -0
  140. package/src/document.ts +23 -4
  141. package/src/eval.ts +16 -5
  142. package/src/genre.ts +4 -4
  143. package/src/heading-text.ts +26 -0
  144. package/src/init.ts +74 -15
  145. package/src/orthography.ts +115 -0
  146. package/src/plugin.ts +6 -0
  147. package/src/reasons.ts +44 -0
  148. package/src/render/explain.ts +46 -12
  149. package/src/render/friendly.ts +42 -10
  150. package/src/render/rules-json.ts +45 -10
  151. package/src/render/summary.ts +34 -9
  152. package/src/render/suppressions.ts +45 -10
  153. package/src/run.ts +35 -12
  154. package/src/structure/build.ts +20 -10
  155. package/src/structure/cite.ts +3 -1
  156. package/src/structure/issues.ts +33 -14
  157. package/src/structure/numbering.ts +12 -7
  158. package/src/ui.ts +23 -0
  159. package/src/watch.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAMA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAc,eAAe,EAAa,aAAa,EAA0C,MAAM,aAAa,CAAC;AAoHjI,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AA0GtH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAI7G,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,QAAQ;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,KAAG,SAGvH,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,eAAe,EAAE,OAAM,SAAsB,KAAG,aAmCpH,CAAC;AAUF,6CAA6C;AAC7C,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAA2C,CAAC"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAc,eAAe,EAAa,aAAa,EAA0C,MAAM,aAAa,CAAC;AAoHjI,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AA6GtH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD,CAAC;AAIF,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,QAAQ;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD,KAAG,SAIF,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,eAAe,EAAE,OAAM,SAAsB,KAAG,aAwCpH,CAAC;AAUF,6CAA6C;AAC7C,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAA2C,CAAC"}
package/dist/document.js CHANGED
@@ -3,6 +3,7 @@ import { gfmTable } from "micromark-extension-gfm-table";
3
3
  import { gfmTableFromMarkdown } from "mdast-util-gfm-table";
4
4
  import { frontmatter } from "micromark-extension-frontmatter";
5
5
  import { frontmatterFromMarkdown } from "mdast-util-frontmatter";
6
+ import { atxHeadingText, headingText } from "./heading-text.js";
6
7
  import { maskSpans } from "./mask.js";
7
8
  import { buildTree, NO_OUTLINE } from "./structure/build.js";
8
9
  import { isMarkdownPath } from "./structure/markdown-path.js";
@@ -111,8 +112,11 @@ const headingsOf = (root, source) => {
111
112
  return;
112
113
  const span = spanOf(node);
113
114
  const depth = typeof node === "object" && "depth" in node && typeof node.depth === "number" ? node.depth : 1;
114
- if (span !== undefined)
115
- found.push({ depth, text: textOf(node, source).trim(), start: span.start, end: span.end });
115
+ if (span === undefined)
116
+ return;
117
+ // ATX(行頭が #)なら閉じの # も外す。setext の見出しの末尾の # は言葉なので残す。
118
+ const read = source.startsWith("#", span.start) ? atxHeadingText : headingText;
119
+ found.push({ depth, text: read(textOf(node, source)), start: span.start, end: span.end });
116
120
  });
117
121
  return found;
118
122
  };
@@ -207,6 +211,7 @@ const EMPTY_TEAM = { jargon: [], requiredSections: [] };
207
211
  /** Config から取り出す。document は Config の形を知らない。 */
208
212
  export const teamRules = (config) => ({
209
213
  jargon: config.jargon,
214
+ prefer: config.prefer ?? {},
210
215
  requiredSections: config.requiredSections,
211
216
  });
212
217
  export const buildDocument = (path, source, adapter, team = EMPTY_TEAM) => {
@@ -233,7 +238,12 @@ export const buildDocument = (path, source, adapter, team = EMPTY_TEAM) => {
233
238
  listSpans: listItems,
234
239
  paragraphs: paragraphsOf(paragraphSpans, sentences, listItems),
235
240
  lists: listsOf(root, source),
236
- lexicons: { ...adapter.lexicons, "internal-jargon": team.jargon.map((pattern) => ({ pattern })) },
241
+ lexicons: {
242
+ ...adapter.lexicons,
243
+ "internal-jargon": team.jargon.map((pattern) => ({ pattern })),
244
+ // 使わない書き方を pattern に、使う書き方を instead_of に置く。語彙表の「同じことの別の書き方」と同じ向き。
245
+ "preferred-term": Object.entries(team.prefer ?? {}).map(([pattern, use]) => ({ pattern, instead_of: use })),
246
+ },
237
247
  requiredSections: team.requiredSections,
238
248
  // 構造の rule(参照先が無い・番号の抜け)が読む木。どの rule も読まなければ作らない。何万行の契約書で、他の rule の lint に代金を払わせない。
239
249
  get structure() {
@@ -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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"}
package/dist/eval.d.ts CHANGED
@@ -27,5 +27,9 @@ export type RuleReport = {
27
27
  readonly recommended: number | undefined;
28
28
  readonly total: number;
29
29
  };
30
- export declare const evaluate: (docs: readonly ProseDocument[], rules: readonly RuleDefinition[], genre: string, language: string) => RuleReport[];
30
+ /**
31
+ * limits は chaff.yaml に数値で書いた上限。書いてあれば、それが lint で効いている「現在」の値。
32
+ * 段の言葉(relaxed など)で書いた設定は、これまでどおり normal の値を「現在」とする。
33
+ */
34
+ export declare const evaluate: (docs: readonly ProseDocument[], rules: readonly RuleDefinition[], genre: string, language: string, limits?: Readonly<Record<string, number>>) => RuleReport[];
31
35
  //# sourceMappingURL=eval.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,8CAA8C;AAC9C,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/H,0CAA0C;AAC1C,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAyDF,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,aAAa,EAAE,EAAE,OAAO,SAAS,cAAc,EAAE,EAAE,OAAO,MAAM,EAAE,UAAU,MAAM,KAAG,UAAU,EAcjI,CAAC"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,8CAA8C;AAC9C,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/H,0CAA0C;AAC1C,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AA0DF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,SAAS,aAAa,EAAE,EAC9B,OAAO,SAAS,cAAc,EAAE,EAChC,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,SAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,KAC5C,UAAU,EAcP,CAAC"}
package/dist/eval.js CHANGED
@@ -17,11 +17,12 @@ export const MIN_CORPUS = 20;
17
17
  const stricterIsHigher = (rule) => (rule.levels.strict ?? 0) > (rule.levels.relaxed ?? 0);
18
18
  const MULTIPLIERS = [0.5, 0.7, 0.85, 1, 1.25, 1.5, 2, 3];
19
19
  /** rule 自身が持つ段を基点に掃引する。rule ごとに単位が違うので、倍率で散らす。 */
20
- const candidates = (rule) => {
20
+ const candidates = (rule, current) => {
21
21
  const base = rule.levels.normal ?? 1;
22
22
  const fromLevels = [rule.levels.strict, rule.levels.normal, rule.levels.relaxed].filter((value) => value !== undefined);
23
23
  const scaled = MULTIPLIERS.map((factor) => Math.max(1, Math.round(base * factor)));
24
- return [...new Set([...fromLevels, ...scaled])].sort((left, right) => left - right);
24
+ // 数値で決めた上限は、段の表に無くても掃引に入れる。入れないと「現在」の行が出ない。
25
+ return [...new Set([...fromLevels, ...scaled, current])].sort((left, right) => left - right);
25
26
  };
26
27
  const countAt = (docs, rule, limit) => {
27
28
  const detector = DETECTORS[rule.how_to_find];
@@ -70,11 +71,15 @@ const measurable = (rule, docs, genre, language) => {
70
71
  return false;
71
72
  return rule.requires.every((need) => meets(need, docs));
72
73
  };
73
- export const evaluate = (docs, rules, genre, language) => rules
74
+ /**
75
+ * limits は chaff.yaml に数値で書いた上限。書いてあれば、それが lint で効いている「現在」の値。
76
+ * 段の言葉(relaxed など)で書いた設定は、これまでどおり normal の値を「現在」とする。
77
+ */
78
+ export const evaluate = (docs, rules, genre, language, limits = {}) => rules
74
79
  .filter((rule) => measurable(rule, docs, genre, language))
75
80
  .map((rule) => {
76
- const sweep = candidates(rule).map((limit) => countAt(docs, rule, limit));
77
- const current = rule.levels.normal ?? 1;
81
+ const current = limits[rule.id] ?? rule.levels.normal ?? 1;
82
+ const sweep = candidates(rule, current).map((limit) => countAt(docs, rule, limit));
78
83
  return {
79
84
  rule: rule.id,
80
85
  name: rule.name[language] ?? rule.id,
package/dist/eval.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
package/dist/genre.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type GenreGuess = {
2
2
  readonly genre: string;
3
- readonly from: string;
3
+ readonly from: "front-matter" | "path" | "content";
4
4
  };
5
5
  export declare const guessGenre: (path: string, source: string, front: string | undefined) => GenreGuess | undefined;
6
6
  /** front matter の genre / type を拾う。失敗しても落とさない。 */
@@ -1 +1 @@
1
- {"version":3,"file":"genre.d.ts","sourceRoot":"","sources":["../src/genre.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA4B3E,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,GAAG,SAAS,KAAG,UAAU,GAAG,SAOjG,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAI1D,CAAC"}
1
+ {"version":3,"file":"genre.d.ts","sourceRoot":"","sources":["../src/genre.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AA4BxG,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,GAAG,SAAS,KAAG,UAAU,GAAG,SAOjG,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAI1D,CAAC"}
package/dist/genre.js CHANGED
@@ -24,13 +24,13 @@ const BY_CONTENT = [
24
24
  ];
25
25
  export const guessGenre = (path, source, front) => {
26
26
  if (front !== undefined)
27
- return { genre: front, from: "front matter" };
27
+ return { genre: front, from: "front-matter" };
28
28
  const byPath = BY_PATH.find(([pattern]) => pattern.test(path));
29
29
  if (byPath !== undefined)
30
- return { genre: byPath[1], from: "パス" };
30
+ return { genre: byPath[1], from: "path" };
31
31
  const byContent = BY_CONTENT.find(([pattern]) => pattern.test(source));
32
32
  if (byContent !== undefined)
33
- return { genre: byContent[1], from: "内容" };
33
+ return { genre: byContent[1], from: "content" };
34
34
  return undefined;
35
35
  };
36
36
  /** front matter の genre / type を拾う。失敗しても落とさない。 */
package/dist/genre.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"genre.js","sourceRoot":"","sources":["../src/genre.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,GAA2C;IACtD,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IACtC,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;IAC5C,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;IACrD,CAAC,8BAA8B,EAAE,wBAAwB,CAAC;IAC1D,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;IAC3C,CAAC,mCAAmC,EAAE,WAAW,CAAC;IAClD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAA2C;IACzD,CAAC,gDAAgD,EAAE,wBAAwB,CAAC;IAC5E,CAAC,4CAA4C,EAAE,wBAAwB,CAAC;IACxE,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAyB,EAA0B,EAAE;IAC5G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACrE,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"genre.js","sourceRoot":"","sources":["../src/genre.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,GAA2C;IACtD,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IAC3C,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IACtC,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;IAC5C,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;IACrD,CAAC,8BAA8B,EAAE,wBAAwB,CAAC;IAC1D,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;IAC3C,CAAC,mCAAmC,EAAE,WAAW,CAAC;IAClD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,GAA2C;IACzD,CAAC,gDAAgD,EAAE,wBAAwB,CAAC;IAC5E,CAAC,4CAA4C,EAAE,wBAAwB,CAAC;IACxE,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAyB,EAA0B,EAAE;IAC5G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACpE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7E,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACrE,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 見出しの末尾に付けた属性を外した、見出しの言葉。`## ステップ 1 {#step1}` は「ステップ 1」。
3
+ * kramdown(`{#id}`、`{: .class}`)と pandoc(`{#id .class}`)の書き方。属性は読者に見えないので、
4
+ * 残すと見出しの言い直しや番号の読み取りが、見えない文字に引きずられる。
5
+ * 波括弧で終わっていても、中身が `#` `.` `:` で始まらないもの(`## {name} の設定`)は言葉のうち。
6
+ */
7
+ export declare const headingText: (raw: string) => string;
8
+ /**
9
+ * ATX 見出し(`## 見出し ##`)の言葉。属性を外してから、閉じの `#` を外す。
10
+ * `## Install ## {#install}` は閉じの `#` の後ろに属性があるので、この順でないと `##` が言葉に残る。
11
+ * 下線で書く見出し(setext)には使わない。そちらの末尾の `##` は本当に言葉の一部。
12
+ */
13
+ export declare const atxHeadingText: (content: string) => string;
14
+ //# sourceMappingURL=heading-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading-text.d.ts","sourceRoot":"","sources":["../src/heading-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAQzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAIhD,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 見出しの末尾に付けた属性を外した、見出しの言葉。`## ステップ 1 {#step1}` は「ステップ 1」。
3
+ * kramdown(`{#id}`、`{: .class}`)と pandoc(`{#id .class}`)の書き方。属性は読者に見えないので、
4
+ * 残すと見出しの言い直しや番号の読み取りが、見えない文字に引きずられる。
5
+ * 波括弧で終わっていても、中身が `#` `.` `:` で始まらないもの(`## {name} の設定`)は言葉のうち。
6
+ */
7
+ export const headingText = (raw) => {
8
+ const trimmed = raw.trim();
9
+ if (!trimmed.endsWith("}"))
10
+ return trimmed;
11
+ const open = trimmed.lastIndexOf("{");
12
+ if (open === -1)
13
+ return trimmed;
14
+ const inner = trimmed.slice(open + 1, -1).trimStart();
15
+ const isAttributes = inner.startsWith("#") || inner.startsWith(".") || inner.startsWith(":");
16
+ return isAttributes ? trimmed.slice(0, open).trim() : trimmed;
17
+ };
18
+ /**
19
+ * ATX 見出し(`## 見出し ##`)の言葉。属性を外してから、閉じの `#` を外す。
20
+ * `## Install ## {#install}` は閉じの `#` の後ろに属性があるので、この順でないと `##` が言葉に残る。
21
+ * 下線で書く見出し(setext)には使わない。そちらの末尾の `##` は本当に言葉の一部。
22
+ */
23
+ export const atxHeadingText = (content) => {
24
+ const withoutAttributes = headingText(content);
25
+ const closing = withoutAttributes.search(/(?:^|[ \t])#+$/u);
26
+ return (closing === -1 ? withoutAttributes : withoutAttributes.slice(0, closing)).trim();
27
+ };
28
+ //# sourceMappingURL=heading-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading-text.js","sourceRoot":"","sources":["../src/heading-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7F,OAAO,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAChE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACxD,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC,CAAC"}
package/dist/init.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export declare const runInit: (dir: string, genre: string) => string[];
1
+ import type { UiLanguage } from "./ui.ts";
2
+ export declare const runInit: (dir: string, genre: string, ui?: UiLanguage) => string[];
2
3
  export declare const GENRES: readonly string[];
3
4
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAkDA,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,EAiB1D,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAWnC,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AA4GjD,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,KAAI,UAAiB,KAAG,MAAM,EAgBjF,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAWnC,CAAC"}
package/dist/init.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { appendFileSync, existsSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- const CONFIG = (genre) => `# chaff.yaml — このチームの文章規範
3
+ const TEXT = {
4
+ ja: {
5
+ config: (genre) => `# chaff.yaml — このチームの文章規範
4
6
  #
5
7
  # ここに書くのは「既定から変えたもの」だけです。書かなければ既定で動きます。
6
8
  # このファイルを消しても chaff は動きます。
@@ -23,7 +25,53 @@ genre: ${genre}
23
25
 
24
26
  # 既定から変えたものだけを書く。
25
27
  rules:
26
- `;
28
+ `,
29
+ created: "作成しました",
30
+ appended: (lines) => `${lines.join(" と ")} を追記しました`,
31
+ configNote: "規範の宣言。commit してください",
32
+ exists: "chaff.yaml は既にあります。変更していません。",
33
+ createdHeading: "作成しました:",
34
+ genreChosen: (genre) => `ジャンルは ${genre} にしました。違う場合は chaff.yaml の genre を直してください。`,
35
+ genreList: " 一覧: npx chaff genres",
36
+ next: "次:",
37
+ nextCheck: " npx chaff . この場所の Markdown を全部見る",
38
+ },
39
+ en: {
40
+ config: (genre) => `# chaff.yaml — this team's writing rules
41
+ #
42
+ # Write only what differs from the defaults; anything left out uses the default.
43
+ # chaff still runs if this file is deleted.
44
+ #
45
+ # A level is one of four words. No numbers needed.
46
+ #
47
+ # strict check closely
48
+ # normal the default
49
+ # relaxed check loosely
50
+ # off do not check
51
+ #
52
+ # Commands change it too, and leave the reason as a comment.
53
+ #
54
+ # npx chaff relax bold-density --why "figure captions use a lot of bold"
55
+ # npx chaff explain bold-density read what the rule is for
56
+ # npx chaff rules --json give this to an AI that writes the settings
57
+
58
+ # The kind of document kept here.
59
+ genre: ${genre}
60
+
61
+ # Only what differs from the defaults.
62
+ rules:
63
+ `,
64
+ created: "created",
65
+ appended: (lines) => `added ${lines.join(" and ")}`,
66
+ configNote: "the team's rules; commit it",
67
+ exists: "chaff.yaml already exists. Nothing was changed.",
68
+ createdHeading: "Created:",
69
+ genreChosen: (genre) => `The genre is ${genre}. If that is wrong, change genre in chaff.yaml.`,
70
+ genreList: " List: npx chaff genres",
71
+ next: "Next:",
72
+ nextCheck: " npx chaff . check every Markdown file here",
73
+ },
74
+ };
27
75
  /** 判定のキャッシュと、鍵を書くファイル。どちらも commit しない。 */
28
76
  const GITIGNORE_LINES = [".chaff-cache/", ".env*"];
29
77
  const writeIfAbsent = (path, body, note) => {
@@ -33,31 +81,32 @@ const writeIfAbsent = (path, body, note) => {
33
81
  return { path, note };
34
82
  };
35
83
  /** 判定のキャッシュと .env は commit しない。init が .gitignore に足す。 */
36
- const ensureGitignore = (dir) => {
84
+ const ensureGitignore = (dir, text) => {
37
85
  const path = join(dir, ".gitignore");
38
86
  if (!existsSync(path))
39
- return writeIfAbsent(path, `${GITIGNORE_LINES.join("\n")}\n`, "作成しました");
87
+ return writeIfAbsent(path, `${GITIGNORE_LINES.join("\n")}\n`, text.created);
40
88
  const body = readFileSync(path, "utf8");
41
89
  const missing = GITIGNORE_LINES.filter((line) => !body.split("\n").includes(line));
42
90
  if (missing.length === 0)
43
91
  return undefined;
44
92
  appendFileSync(path, `${missing.join("\n")}\n`, "utf8");
45
- return { path, note: `${missing.join(" と ")} を追記しました` };
93
+ return { path, note: text.appended(missing) };
46
94
  };
47
- export const runInit = (dir, genre) => {
48
- const made = [writeIfAbsent(join(dir, "chaff.yaml"), CONFIG(genre), "規範の宣言。commit してください"), ensureGitignore(dir)].filter((entry) => entry !== undefined);
95
+ export const runInit = (dir, genre, ui = "ja") => {
96
+ const text = TEXT[ui];
97
+ const made = [writeIfAbsent(join(dir, "chaff.yaml"), text.config(genre), text.configNote), ensureGitignore(dir, text)].filter((entry) => entry !== undefined);
49
98
  if (made.length === 0)
50
- return ["chaff.yaml は既にあります。変更していません。"];
99
+ return [text.exists];
51
100
  return [
52
101
  "",
53
- "作成しました:",
102
+ text.createdHeading,
54
103
  ...made.map((entry) => ` ${entry.path} ${entry.note}`),
55
104
  "",
56
- `ジャンルは ${genre} にしました。違う場合は chaff.yaml の genre を直してください。`,
57
- " 一覧: npx chaff genres",
105
+ text.genreChosen(genre),
106
+ text.genreList,
58
107
  "",
59
- "次:",
60
- " npx chaff . この場所の Markdown を全部見る",
108
+ text.next,
109
+ text.nextCheck,
61
110
  "",
62
111
  ];
63
112
  };
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;SAmBjC,KAAK;;;;CAIb,CAAC;AAEF,0CAA0C;AAC1C,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAInD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAuB,EAAE;IACtF,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,eAAe,GAAG,CAAC,GAAW,EAAuB,EAAE;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAa,EAAY,EAAE;IAC9D,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CACtH,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAC/B,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE;QACF,SAAS;QACT,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACxD,EAAE;QACF,SAAS,KAAK,2CAA2C;QACzD,wBAAwB;QACxB,EAAE;QACF,IAAI;QACJ,+CAA+C;QAC/C,EAAE;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,gBAAgB;IAChB,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,wBAAwB;CACzB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * avoid が現れる位置のうち、use の一部として現れたものを除いたもの。
3
+ * 「ユーザ」を避けて「ユーザー」と書く決まりのとき、「ユーザー」の中の「ユーザ」は指摘しない。
4
+ * 大文字小文字は区別しない(文頭の「E-mail」も「e-mail」)。ただし二つが大文字小文字だけ違う組
5
+ * (「Javascript」→「JavaScript」)は、それ自体が大文字小文字の決まりなので区別して探す。
6
+ */
7
+ export declare const occurrencesOutside: (text: string, avoid: string, use: string) => number[];
8
+ export type SpacingKind = "letter" | "before-digit" | "after-digit";
9
+ export type Boundary = {
10
+ readonly offset: number;
11
+ readonly kind: SpacingKind;
12
+ readonly spaced: boolean;
13
+ };
14
+ /** 文の中の境目を全部。offset は境目の位置(左の字の直後、UTF-16)。配列を作り直さずに一度なめる。 */
15
+ export declare const latinBoundaries: (text: string) => Boundary[];
16
+ /**
17
+ * 混ざっているとき、そろえるべき少数派。種類(英字・数字の前・数字の後ろ)ごとに数える。
18
+ * 同数なら、文書が先に使った書き方をその文書の書き方とみなし、後から出た書き方を少数派にする。
19
+ */
20
+ export declare const minorityStyle: (boundaries: readonly Boundary[]) => boolean | undefined;
21
+ //# sourceMappingURL=orthography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orthography.d.ts","sourceRoot":"","sources":["../src/orthography.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,EAmBnF,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AA+CzG,6DAA6D;AAC7D,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,QAAQ,EAUtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,SAAS,QAAQ,EAAE,KAAG,OAAO,GAAG,SAMzE,CAAC"}
@@ -0,0 +1,110 @@
1
+ // 表記のそろい。書き方の決まりのうち、文字だけで決まるもの。
2
+ const escapeRegExp = (text) => text.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
3
+ /** text の中で word が現れる [始まり, 終わり) を、左から順に。大文字小文字を区別しないときは i で探す(位置は元の文字列のまま)。 */
4
+ const spansOf = (text, word, ignoreCase) => {
5
+ const pattern = new RegExp(escapeRegExp(word), ignoreCase ? "giu" : "gu");
6
+ const found = [];
7
+ for (let match = pattern.exec(text); match !== null; match = pattern.exec(text)) {
8
+ found.push([match.index, match.index + match[0].length]);
9
+ // 重なって現れるものも拾う。次は 1 つ先から探す。
10
+ pattern.lastIndex = match.index + 1;
11
+ }
12
+ return found;
13
+ };
14
+ /**
15
+ * avoid が現れる位置のうち、use の一部として現れたものを除いたもの。
16
+ * 「ユーザ」を避けて「ユーザー」と書く決まりのとき、「ユーザー」の中の「ユーザ」は指摘しない。
17
+ * 大文字小文字は区別しない(文頭の「E-mail」も「e-mail」)。ただし二つが大文字小文字だけ違う組
18
+ * (「Javascript」→「JavaScript」)は、それ自体が大文字小文字の決まりなので区別して探す。
19
+ */
20
+ export const occurrencesOutside = (text, avoid, use) => {
21
+ if (avoid === "")
22
+ return [];
23
+ const ignoreCase = avoid.toLowerCase() !== use.toLowerCase();
24
+ const covered = use === "" ? [] : spansOf(text, use, ignoreCase);
25
+ const found = [];
26
+ // covered は始まりの順に並ぶ。始まりが at 以前のものの終わりの最大が end 以上なら、どれかに収まっている。
27
+ let next = 0;
28
+ let reach = -1;
29
+ let at = 0;
30
+ for (const [start, end] of spansOf(text, avoid, ignoreCase)) {
31
+ if (start < at)
32
+ continue;
33
+ while (next < covered.length && (covered[next]?.[0] ?? Infinity) <= start) {
34
+ reach = Math.max(reach, covered[next]?.[1] ?? -1);
35
+ next += 1;
36
+ }
37
+ if (reach < end)
38
+ found.push(start);
39
+ at = end;
40
+ }
41
+ return found;
42
+ };
43
+ const JAPANESE = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}ー]/u;
44
+ const LETTER = /[A-Za-z]/u;
45
+ const DIGIT = /\d/u;
46
+ /** Latin 側の字の種類。digitSide は、その数字が日本語の右(前に日本語)か左(後ろに日本語)か。 */
47
+ const kindOf = (char, digitSide) => {
48
+ if (char === undefined)
49
+ return undefined;
50
+ if (LETTER.test(char))
51
+ return "letter";
52
+ return DIGIT.test(char) ? digitSide : undefined;
53
+ };
54
+ const isJapanese = (char) => char !== undefined && JAPANESE.test(char);
55
+ /** japanese が日本語の字のとき、other の英字・数字の種類。 */
56
+ const latinBeside = (japanese, other, digitSide) => isJapanese(japanese) ? kindOf(other, digitSide) : undefined;
57
+ /** 日本語の字の隣にある英字・数字との境目。間が半角空白 1 つなら「空けている」、何も無ければ「詰めている」。 */
58
+ const ALPHANUMERIC = /[A-Za-z0-9.]/u;
59
+ /**
60
+ * 日本語の左にある英数字の並びの、先頭の字。「3GBの」の「GB」は数量の単位で、並びは数字で始まる。
61
+ * そうした並びと日本語の境目は、英字の空け方ではなく数字の後ろの空け方として数える(「3回」と同じ)。
62
+ */
63
+ const runStart = (chars, last) => {
64
+ let first = last;
65
+ while (first > 0 && ALPHANUMERIC.test(chars[first - 1] ?? ""))
66
+ first -= 1;
67
+ return chars[first];
68
+ };
69
+ /** 左の並びの種類。数字で始まる並び(3GB、10ms)は数字として扱う。 */
70
+ const leftRunBeside = (chars, last, japanese) => {
71
+ const kind = latinBeside(japanese, chars[last], "after-digit");
72
+ return kind === "letter" && DIGIT.test(runStart(chars, last) ?? "") ? "after-digit" : kind;
73
+ };
74
+ const boundaryAt = (chars, index) => {
75
+ const [left, right, after] = [chars[index], chars[index + 1], chars[index + 2]];
76
+ const touching = latinBeside(left, right, "before-digit") ?? leftRunBeside(chars, index, right);
77
+ if (touching !== undefined)
78
+ return { kind: touching, spaced: false };
79
+ if (right !== " ")
80
+ return undefined;
81
+ const spaced = latinBeside(left, after, "before-digit") ?? leftRunBeside(chars, index, after);
82
+ return spaced === undefined ? undefined : { kind: spaced, spaced: true };
83
+ };
84
+ /** 文の中の境目を全部。offset は境目の位置(左の字の直後、UTF-16)。配列を作り直さずに一度なめる。 */
85
+ export const latinBoundaries = (text) => {
86
+ const chars = [...text];
87
+ const found = [];
88
+ let offset = 0;
89
+ chars.forEach((char, index) => {
90
+ offset += char.length;
91
+ const boundary = boundaryAt(chars, index);
92
+ if (boundary !== undefined)
93
+ found.push({ ...boundary, offset });
94
+ });
95
+ return found;
96
+ };
97
+ /**
98
+ * 混ざっているとき、そろえるべき少数派。種類(英字・数字の前・数字の後ろ)ごとに数える。
99
+ * 同数なら、文書が先に使った書き方をその文書の書き方とみなし、後から出た書き方を少数派にする。
100
+ */
101
+ export const minorityStyle = (boundaries) => {
102
+ const spaced = boundaries.filter((boundary) => boundary.spaced).length;
103
+ const touching = boundaries.length - spaced;
104
+ if (spaced === 0 || touching === 0)
105
+ return undefined;
106
+ if (spaced !== touching)
107
+ return spaced < touching;
108
+ return !(boundaries[0]?.spaced ?? false);
109
+ };
110
+ //# sourceMappingURL=orthography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orthography.js","sourceRoot":"","sources":["../src/orthography.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -98,6 +98,8 @@ export type NumberedLine = {
98
98
  * 枝番号(第3条の2)は並びの外なので付けない。読み方を知っているのは言語パッケージだけなので、core は計算しない。
99
99
  */
100
100
  readonly ordinal?: number | undefined;
101
+ /** 一行で番号の範囲をまとめるとき(「第四十三条から第五十五条まで 削除」)の最後の位置。次の番号はここから数える。 */
102
+ readonly ordinalTo?: number | undefined;
101
103
  };
102
104
  /** 番号を読むときに見える周り。「(i)」がローマ数字か英字かは、開いている番号で決まる。 */
103
105
  export type NumberingContext = {
@@ -141,6 +143,10 @@ export type StructureNode = {
141
143
  readonly children: readonly StructureNode[];
142
144
  /** 番号付きのまとまりの、並びの中の位置(NumberedLine.ordinal)。S 式には出さない。 */
143
145
  readonly ordinal?: number;
146
+ /** 番号付きのまとまりの深さ(NumberedLine.depth)。項と号のように、同じ親の下で別の並びを分ける。S 式には出さない。 */
147
+ readonly level?: number;
148
+ /** 範囲をまとめた行の最後の位置(NumberedLine.ordinalTo)。S 式には出さない。 */
149
+ readonly ordinalTo?: number;
144
150
  };
145
151
  export type Section = {
146
152
  /** 見出しの深さ。見出しより前の導入部は 0。 */