chaffjs 0.16.0 → 0.18.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.
- package/dist/announced-count.d.ts +26 -0
- package/dist/announced-count.d.ts.map +1 -0
- package/dist/announced-count.js +104 -0
- package/dist/announced-count.js.map +1 -0
- package/dist/bare-url.d.ts +14 -0
- package/dist/bare-url.d.ts.map +1 -0
- package/dist/bare-url.js +28 -0
- package/dist/bare-url.js.map +1 -0
- package/dist/baseline.d.ts +5 -0
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +16 -1
- package/dist/baseline.js.map +1 -1
- package/dist/body-section.d.ts +7 -0
- package/dist/body-section.d.ts.map +1 -0
- package/dist/body-section.js +6 -0
- package/dist/body-section.js.map +1 -0
- package/dist/calendar-number.d.ts +9 -2
- package/dist/calendar-number.d.ts.map +1 -1
- package/dist/calendar-number.js +18 -4
- package/dist/calendar-number.js.map +1 -1
- package/dist/cli-args.d.ts +4 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +5 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +8 -4
- package/dist/cli-text.js.map +1 -1
- package/dist/cli.js +33 -30
- package/dist/cli.js.map +1 -1
- package/dist/closing-numbers.d.ts +20 -0
- package/dist/closing-numbers.d.ts.map +1 -0
- package/dist/closing-numbers.js +56 -0
- package/dist/closing-numbers.js.map +1 -0
- package/dist/commands/compare.d.ts +8 -0
- package/dist/commands/compare.d.ts.map +1 -0
- package/dist/commands/compare.js +72 -0
- package/dist/commands/compare.js.map +1 -0
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +17 -9
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/feedback.d.ts +5 -2
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +11 -5
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +13 -13
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/tree.d.ts +13 -0
- package/dist/commands/tree.d.ts.map +1 -1
- package/dist/commands/tree.js +35 -5
- package/dist/commands/tree.js.map +1 -1
- package/dist/compare/atom.d.ts +31 -0
- package/dist/compare/atom.d.ts.map +1 -0
- package/dist/compare/atom.js +4 -0
- package/dist/compare/atom.js.map +1 -0
- package/dist/compare/clock-time.d.ts +8 -0
- package/dist/compare/clock-time.d.ts.map +1 -0
- package/dist/compare/clock-time.js +65 -0
- package/dist/compare/clock-time.js.map +1 -0
- package/dist/compare/extract.d.ts +15 -0
- package/dist/compare/extract.d.ts.map +1 -0
- package/dist/compare/extract.js +58 -0
- package/dist/compare/extract.js.map +1 -0
- package/dist/compare/fact-text.d.ts +23 -0
- package/dist/compare/fact-text.d.ts.map +1 -0
- package/dist/compare/fact-text.js +47 -0
- package/dist/compare/fact-text.js.map +1 -0
- package/dist/compare/markup-atoms.d.ts +11 -0
- package/dist/compare/markup-atoms.d.ts.map +1 -0
- package/dist/compare/markup-atoms.js +23 -0
- package/dist/compare/markup-atoms.js.map +1 -0
- package/dist/compare/match.d.ts +19 -0
- package/dist/compare/match.d.ts.map +1 -0
- package/dist/compare/match.js +84 -0
- package/dist/compare/match.js.map +1 -0
- package/dist/compare/outcome.d.ts +33 -0
- package/dist/compare/outcome.d.ts.map +1 -0
- package/dist/compare/outcome.js +40 -0
- package/dist/compare/outcome.js.map +1 -0
- package/dist/compare/proper-nouns.d.ts +19 -0
- package/dist/compare/proper-nouns.d.ts.map +1 -0
- package/dist/compare/proper-nouns.js +44 -0
- package/dist/compare/proper-nouns.js.map +1 -0
- package/dist/compare/render.d.ts +9 -0
- package/dist/compare/render.d.ts.map +1 -0
- package/dist/compare/render.js +64 -0
- package/dist/compare/render.js.map +1 -0
- package/dist/compare/spans.d.ts +9 -0
- package/dist/compare/spans.d.ts.map +1 -0
- package/dist/compare/spans.js +11 -0
- package/dist/compare/spans.js.map +1 -0
- package/dist/compare/text-atoms.d.ts +24 -0
- package/dist/compare/text-atoms.d.ts.map +1 -0
- package/dist/compare/text-atoms.js +67 -0
- package/dist/compare/text-atoms.js.map +1 -0
- package/dist/compare/text.d.ts +24 -0
- package/dist/compare/text.d.ts.map +1 -0
- package/dist/compare/text.js +90 -0
- package/dist/compare/text.js.map +1 -0
- package/dist/compare/tree-atoms.d.ts +20 -0
- package/dist/compare/tree-atoms.d.ts.map +1 -0
- package/dist/compare/tree-atoms.js +58 -0
- package/dist/compare/tree-atoms.js.map +1 -0
- package/dist/compare/written-names.d.ts +8 -0
- package/dist/compare/written-names.d.ts.map +1 -0
- package/dist/compare/written-names.js +24 -0
- package/dist/compare/written-names.js.map +1 -0
- package/dist/config/load.d.ts +15 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +5 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/option-problems.d.ts +16 -0
- package/dist/config/option-problems.d.ts.map +1 -0
- package/dist/config/option-problems.js +58 -0
- package/dist/config/option-problems.js.map +1 -0
- package/dist/config/read.d.ts +4 -0
- package/dist/config/read.d.ts.map +1 -0
- package/dist/config/read.js +8 -0
- package/dist/config/read.js.map +1 -0
- package/dist/config/rule-problems.d.ts +2 -4
- package/dist/config/rule-problems.d.ts.map +1 -1
- package/dist/config/rule-problems.js +7 -1
- package/dist/config/rule-problems.js.map +1 -1
- package/dist/config/style.d.ts +16 -0
- package/dist/config/style.d.ts.map +1 -0
- package/dist/config/style.js +36 -0
- package/dist/config/style.js.map +1 -0
- package/dist/config/warnings.d.ts +6 -0
- package/dist/config/warnings.d.ts.map +1 -0
- package/dist/config/warnings.js +10 -0
- package/dist/config/warnings.js.map +1 -0
- package/dist/config/write.d.ts.map +1 -1
- package/dist/config/write.js +17 -4
- package/dist/config/write.js.map +1 -1
- package/dist/custom/bounded-match.d.ts +15 -0
- package/dist/custom/bounded-match.d.ts.map +1 -0
- package/dist/custom/bounded-match.js +43 -0
- package/dist/custom/bounded-match.js.map +1 -0
- package/dist/custom/load.d.ts +8 -0
- package/dist/custom/load.d.ts.map +1 -0
- package/dist/custom/load.js +11 -0
- package/dist/custom/load.js.map +1 -0
- package/dist/custom/parse.d.ts +70 -0
- package/dist/custom/parse.d.ts.map +1 -0
- package/dist/custom/parse.js +215 -0
- package/dist/custom/parse.js.map +1 -0
- package/dist/custom/problems.d.ts +5 -0
- package/dist/custom/problems.d.ts.map +1 -0
- package/dist/custom/problems.js +78 -0
- package/dist/custom/problems.js.map +1 -0
- package/dist/custom/regex-safety.d.ts +11 -0
- package/dist/custom/regex-safety.d.ts.map +1 -0
- package/dist/custom/regex-safety.js +110 -0
- package/dist/custom/regex-safety.js.map +1 -0
- package/dist/custom/token-pattern.d.ts +8 -0
- package/dist/custom/token-pattern.d.ts.map +1 -0
- package/dist/custom/token-pattern.js +75 -0
- package/dist/custom/token-pattern.js.map +1 -0
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +24 -2
- package/dist/detect.js.map +1 -1
- package/dist/detectors/acronym-context.d.ts +4 -0
- package/dist/detectors/acronym-context.d.ts.map +1 -1
- package/dist/detectors/acronym-context.js +25 -4
- package/dist/detectors/acronym-context.js.map +1 -1
- package/dist/detectors/acronym-expansion.d.ts +2 -0
- package/dist/detectors/acronym-expansion.d.ts.map +1 -1
- package/dist/detectors/acronym-expansion.js +104 -1
- package/dist/detectors/acronym-expansion.js.map +1 -1
- package/dist/detectors/agreement-slip.d.ts +32 -0
- package/dist/detectors/agreement-slip.d.ts.map +1 -0
- package/dist/detectors/agreement-slip.js +137 -0
- package/dist/detectors/agreement-slip.js.map +1 -0
- package/dist/detectors/ai-phrasing.d.ts +20 -0
- package/dist/detectors/ai-phrasing.d.ts.map +1 -0
- package/dist/detectors/ai-phrasing.js +112 -0
- package/dist/detectors/ai-phrasing.js.map +1 -0
- package/dist/detectors/announced-count.d.ts +4 -0
- package/dist/detectors/announced-count.d.ts.map +1 -0
- package/dist/detectors/announced-count.js +20 -0
- package/dist/detectors/announced-count.js.map +1 -0
- package/dist/detectors/broken-link.d.ts +17 -0
- package/dist/detectors/broken-link.d.ts.map +1 -0
- package/dist/detectors/broken-link.js +66 -0
- package/dist/detectors/broken-link.js.map +1 -0
- package/dist/detectors/cited-name.d.ts.map +1 -1
- package/dist/detectors/cited-name.js +4 -4
- package/dist/detectors/cited-name.js.map +1 -1
- package/dist/detectors/cited-title.d.ts +11 -0
- package/dist/detectors/cited-title.d.ts.map +1 -0
- package/dist/detectors/cited-title.js +75 -0
- package/dist/detectors/cited-title.js.map +1 -0
- package/dist/detectors/concrete-evidence.d.ts +1 -1
- package/dist/detectors/concrete-evidence.d.ts.map +1 -1
- package/dist/detectors/concrete-evidence.js +2 -1
- package/dist/detectors/concrete-evidence.js.map +1 -1
- package/dist/detectors/content-morphemes.d.ts +4 -0
- package/dist/detectors/content-morphemes.d.ts.map +1 -0
- package/dist/detectors/content-morphemes.js +12 -0
- package/dist/detectors/content-morphemes.js.map +1 -0
- package/dist/detectors/contrast-frame.d.ts +17 -0
- package/dist/detectors/contrast-frame.d.ts.map +1 -0
- package/dist/detectors/contrast-frame.js +32 -0
- package/dist/detectors/contrast-frame.js.map +1 -0
- package/dist/detectors/custom.d.ts +8 -0
- package/dist/detectors/custom.d.ts.map +1 -0
- package/dist/detectors/custom.js +71 -0
- package/dist/detectors/custom.js.map +1 -0
- package/dist/detectors/dangling-figure.d.ts +4 -0
- package/dist/detectors/dangling-figure.d.ts.map +1 -0
- package/dist/detectors/dangling-figure.js +18 -0
- package/dist/detectors/dangling-figure.js.map +1 -0
- package/dist/detectors/doubled-punctuation.d.ts +9 -0
- package/dist/detectors/doubled-punctuation.d.ts.map +1 -0
- package/dist/detectors/doubled-punctuation.js +33 -0
- package/dist/detectors/doubled-punctuation.js.map +1 -0
- package/dist/detectors/doubled-word.d.ts +5 -0
- package/dist/detectors/doubled-word.d.ts.map +1 -1
- package/dist/detectors/doubled-word.js +24 -11
- package/dist/detectors/doubled-word.js.map +1 -1
- package/dist/detectors/en-shape.d.ts +0 -1
- package/dist/detectors/en-shape.d.ts.map +1 -1
- package/dist/detectors/en-shape.js +0 -235
- package/dist/detectors/en-shape.js.map +1 -1
- package/dist/detectors/enumerated-runs.d.ts +1 -1
- package/dist/detectors/enumerated-runs.d.ts.map +1 -1
- package/dist/detectors/enumerated-runs.js +15 -4
- package/dist/detectors/enumerated-runs.js.map +1 -1
- package/dist/detectors/gram-furniture.d.ts +6 -0
- package/dist/detectors/gram-furniture.d.ts.map +1 -0
- package/dist/detectors/gram-furniture.js +21 -0
- package/dist/detectors/gram-furniture.js.map +1 -0
- package/dist/detectors/gram-place.d.ts +2 -0
- package/dist/detectors/gram-place.d.ts.map +1 -1
- package/dist/detectors/gram-place.js +9 -7
- package/dist/detectors/gram-place.js.map +1 -1
- package/dist/detectors/gram-windows.d.ts +9 -0
- package/dist/detectors/gram-windows.d.ts.map +1 -0
- package/dist/detectors/gram-windows.js +27 -0
- package/dist/detectors/gram-windows.js.map +1 -0
- package/dist/detectors/heading-case.d.ts +2 -0
- package/dist/detectors/heading-case.d.ts.map +1 -1
- package/dist/detectors/heading-case.js +29 -2
- package/dist/detectors/heading-case.js.map +1 -1
- package/dist/detectors/heading-code-words.d.ts +6 -0
- package/dist/detectors/heading-code-words.d.ts.map +1 -0
- package/dist/detectors/heading-code-words.js +29 -0
- package/dist/detectors/heading-code-words.js.map +1 -0
- package/dist/detectors/heading-echo.d.ts.map +1 -1
- package/dist/detectors/heading-echo.js +17 -20
- package/dist/detectors/heading-echo.js.map +1 -1
- package/dist/detectors/heading-level-skip.d.ts +12 -0
- package/dist/detectors/heading-level-skip.d.ts.map +1 -0
- package/dist/detectors/heading-level-skip.js +11 -0
- package/dist/detectors/heading-level-skip.js.map +1 -0
- package/dist/detectors/heading-overlap.d.ts +13 -0
- package/dist/detectors/heading-overlap.d.ts.map +1 -0
- package/dist/detectors/heading-overlap.js +52 -0
- package/dist/detectors/heading-overlap.js.map +1 -0
- package/dist/detectors/image-alt-text.d.ts +3 -0
- package/dist/detectors/image-alt-text.d.ts.map +1 -0
- package/dist/detectors/image-alt-text.js +9 -0
- package/dist/detectors/image-alt-text.js.map +1 -0
- package/dist/detectors/index.d.ts.map +1 -1
- package/dist/detectors/index.js +40 -2
- package/dist/detectors/index.js.map +1 -1
- package/dist/detectors/kutoten-consistency.d.ts +24 -0
- package/dist/detectors/kutoten-consistency.d.ts.map +1 -0
- package/dist/detectors/kutoten-consistency.js +77 -0
- package/dist/detectors/kutoten-consistency.js.map +1 -0
- package/dist/detectors/lead-in.d.ts +1 -0
- package/dist/detectors/lead-in.d.ts.map +1 -1
- package/dist/detectors/lead-in.js +2 -1
- package/dist/detectors/lead-in.js.map +1 -1
- package/dist/detectors/letter-joined-name.d.ts +13 -0
- package/dist/detectors/letter-joined-name.d.ts.map +1 -0
- package/dist/detectors/letter-joined-name.js +11 -0
- package/dist/detectors/letter-joined-name.js.map +1 -0
- package/dist/detectors/lexicon-match.d.ts +4 -0
- package/dist/detectors/lexicon-match.d.ts.map +1 -1
- package/dist/detectors/lexicon-match.js +7 -2
- package/dist/detectors/lexicon-match.js.map +1 -1
- package/dist/detectors/lexicon.d.ts.map +1 -1
- package/dist/detectors/lexicon.js +5 -2
- package/dist/detectors/lexicon.js.map +1 -1
- package/dist/detectors/list-item.d.ts +45 -0
- package/dist/detectors/list-item.d.ts.map +1 -0
- package/dist/detectors/list-item.js +88 -0
- package/dist/detectors/list-item.js.map +1 -0
- package/dist/detectors/list-items.d.ts +31 -0
- package/dist/detectors/list-items.d.ts.map +1 -0
- package/dist/detectors/list-items.js +113 -0
- package/dist/detectors/list-items.js.map +1 -0
- package/dist/detectors/list-lead-in.d.ts +7 -0
- package/dist/detectors/list-lead-in.d.ts.map +1 -0
- package/dist/detectors/list-lead-in.js +28 -0
- package/dist/detectors/list-lead-in.js.map +1 -0
- package/dist/detectors/list-sentence.d.ts +65 -0
- package/dist/detectors/list-sentence.d.ts.map +1 -0
- package/dist/detectors/list-sentence.js +105 -0
- package/dist/detectors/list-sentence.js.map +1 -0
- package/dist/detectors/list-view.d.ts +34 -0
- package/dist/detectors/list-view.d.ts.map +1 -0
- package/dist/detectors/list-view.js +137 -0
- package/dist/detectors/list-view.js.map +1 -0
- package/dist/detectors/long-vowel.d.ts +7 -0
- package/dist/detectors/long-vowel.d.ts.map +1 -0
- package/dist/detectors/long-vowel.js +57 -0
- package/dist/detectors/long-vowel.js.map +1 -0
- package/dist/detectors/markup-finding.d.ts +6 -0
- package/dist/detectors/markup-finding.d.ts.map +1 -0
- package/dist/detectors/markup-finding.js +19 -0
- package/dist/detectors/markup-finding.js.map +1 -0
- package/dist/detectors/name-numeral.d.ts +1 -1
- package/dist/detectors/name-numeral.d.ts.map +1 -1
- package/dist/detectors/name-numeral.js +2 -7
- package/dist/detectors/name-numeral.js.map +1 -1
- package/dist/detectors/orthography.d.ts.map +1 -1
- package/dist/detectors/orthography.js +16 -12
- package/dist/detectors/orthography.js.map +1 -1
- package/dist/detectors/oxford-comma.d.ts +9 -0
- package/dist/detectors/oxford-comma.d.ts.map +1 -0
- package/dist/detectors/oxford-comma.js +246 -0
- package/dist/detectors/oxford-comma.js.map +1 -0
- package/dist/detectors/place-run.d.ts.map +1 -1
- package/dist/detectors/place-run.js +10 -6
- package/dist/detectors/place-run.js.map +1 -1
- package/dist/detectors/placeholder-text.d.ts +9 -0
- package/dist/detectors/placeholder-text.d.ts.map +1 -0
- package/dist/detectors/placeholder-text.js +18 -0
- package/dist/detectors/placeholder-text.js.map +1 -0
- package/dist/detectors/quote-around.d.ts +3 -0
- package/dist/detectors/quote-around.d.ts.map +1 -0
- package/dist/detectors/quote-around.js +8 -0
- package/dist/detectors/quote-around.js.map +1 -0
- package/dist/detectors/register.d.ts +11 -3
- package/dist/detectors/register.d.ts.map +1 -1
- package/dist/detectors/register.js +28 -9
- package/dist/detectors/register.js.map +1 -1
- package/dist/detectors/roman-numeral.d.ts +2 -0
- package/dist/detectors/roman-numeral.d.ts.map +1 -1
- package/dist/detectors/roman-numeral.js +2 -0
- package/dist/detectors/roman-numeral.js.map +1 -1
- package/dist/detectors/sentence-ending.d.ts +17 -1
- package/dist/detectors/sentence-ending.d.ts.map +1 -1
- package/dist/detectors/sentence-ending.js +13 -7
- package/dist/detectors/sentence-ending.js.map +1 -1
- package/dist/detectors/sentence-length.d.ts.map +1 -1
- package/dist/detectors/sentence-length.js +13 -4
- package/dist/detectors/sentence-length.js.map +1 -1
- package/dist/detectors/signals.d.ts +8 -0
- package/dist/detectors/signals.d.ts.map +1 -1
- package/dist/detectors/signals.js +94 -54
- package/dist/detectors/signals.js.map +1 -1
- package/dist/detectors/stacked-hedge.d.ts +0 -7
- package/dist/detectors/stacked-hedge.d.ts.map +1 -1
- package/dist/detectors/stacked-hedge.js +6 -3
- package/dist/detectors/stacked-hedge.js.map +1 -1
- package/dist/detectors/stray-space.d.ts +7 -0
- package/dist/detectors/stray-space.d.ts.map +1 -0
- package/dist/detectors/stray-space.js +34 -0
- package/dist/detectors/stray-space.js.map +1 -0
- package/dist/detectors/structure-tree.d.ts +6 -0
- package/dist/detectors/structure-tree.d.ts.map +1 -1
- package/dist/detectors/structure-tree.js +37 -1
- package/dist/detectors/structure-tree.js.map +1 -1
- package/dist/detectors/structure.d.ts +4 -4
- package/dist/detectors/structure.d.ts.map +1 -1
- package/dist/detectors/structure.js +7 -6
- package/dist/detectors/structure.js.map +1 -1
- package/dist/detectors/superlative-name.d.ts.map +1 -1
- package/dist/detectors/superlative-name.js +8 -5
- package/dist/detectors/superlative-name.js.map +1 -1
- package/dist/detectors/superlative-scope.d.ts.map +1 -1
- package/dist/detectors/superlative-scope.js +9 -4
- package/dist/detectors/superlative-scope.js.map +1 -1
- package/dist/detectors/token-column.d.ts +46 -0
- package/dist/detectors/token-column.d.ts.map +1 -0
- package/dist/detectors/token-column.js +95 -0
- package/dist/detectors/token-column.js.map +1 -0
- package/dist/detectors/unbalanced-bracket.d.ts +22 -0
- package/dist/detectors/unbalanced-bracket.d.ts.map +1 -0
- package/dist/detectors/unbalanced-bracket.js +119 -0
- package/dist/detectors/unbalanced-bracket.js.map +1 -0
- package/dist/detectors/url-run-on.d.ts +9 -0
- package/dist/detectors/url-run-on.d.ts.map +1 -0
- package/dist/detectors/url-run-on.js +19 -0
- package/dist/detectors/url-run-on.js.map +1 -0
- package/dist/document-sections.d.ts +13 -0
- package/dist/document-sections.d.ts.map +1 -0
- package/dist/document-sections.js +32 -0
- package/dist/document-sections.js.map +1 -0
- package/dist/document.d.ts +11 -4
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +99 -95
- package/dist/document.js.map +1 -1
- package/dist/email-parts.d.ts +28 -0
- package/dist/email-parts.d.ts.map +1 -0
- package/dist/email-parts.js +230 -0
- package/dist/email-parts.js.map +1 -0
- package/dist/eval.d.ts +2 -1
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +16 -4
- package/dist/eval.js.map +1 -1
- package/dist/figure-references.d.ts +30 -0
- package/dist/figure-references.d.ts.map +1 -0
- package/dist/figure-references.js +76 -0
- package/dist/figure-references.js.map +1 -0
- package/dist/files.d.ts +2 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +4 -0
- package/dist/files.js.map +1 -1
- package/dist/genre-parse.d.ts +5 -1
- package/dist/genre-parse.d.ts.map +1 -1
- package/dist/genre-parse.js +16 -3
- package/dist/genre-parse.js.map +1 -1
- package/dist/genre-suggest.d.ts.map +1 -1
- package/dist/genre-suggest.js +15 -1
- package/dist/genre-suggest.js.map +1 -1
- package/dist/heading-label.d.ts +22 -0
- package/dist/heading-label.d.ts.map +1 -0
- package/dist/heading-label.js +50 -0
- package/dist/heading-label.js.map +1 -0
- package/dist/in-page-nav.d.ts +4 -1
- package/dist/in-page-nav.d.ts.map +1 -1
- package/dist/in-page-nav.js +53 -18
- package/dist/in-page-nav.js.map +1 -1
- package/dist/joined-view.d.ts.map +1 -1
- package/dist/joined-view.js +1 -0
- package/dist/joined-view.js.map +1 -1
- package/dist/levels.d.ts +5 -1
- package/dist/levels.d.ts.map +1 -1
- package/dist/levels.js +9 -0
- package/dist/levels.js.map +1 -1
- package/dist/line-paragraphs.d.ts +8 -0
- package/dist/line-paragraphs.d.ts.map +1 -1
- package/dist/line-paragraphs.js +36 -11
- package/dist/line-paragraphs.js.map +1 -1
- package/dist/long-vowel.d.ts +35 -0
- package/dist/long-vowel.d.ts.map +1 -0
- package/dist/long-vowel.js +71 -0
- package/dist/long-vowel.js.map +1 -0
- package/dist/markdown-node.d.ts +19 -0
- package/dist/markdown-node.d.ts.map +1 -0
- package/dist/markdown-node.js +6 -0
- package/dist/markdown-node.js.map +1 -0
- package/dist/markdown-read.d.ts +17 -0
- package/dist/markdown-read.d.ts.map +1 -0
- package/dist/markdown-read.js +37 -0
- package/dist/markdown-read.js.map +1 -0
- package/dist/markup.d.ts +22 -0
- package/dist/markup.d.ts.map +1 -0
- package/dist/markup.js +180 -0
- package/dist/markup.js.map +1 -0
- package/dist/mask.d.ts.map +1 -1
- package/dist/mask.js +10 -16
- package/dist/mask.js.map +1 -1
- package/dist/number-name.d.ts +21 -5
- package/dist/number-name.d.ts.map +1 -1
- package/dist/number-name.js +120 -18
- package/dist/number-name.js.map +1 -1
- package/dist/opening-line.d.ts +3 -0
- package/dist/opening-line.d.ts.map +1 -0
- package/dist/opening-line.js +14 -0
- package/dist/opening-line.js.map +1 -0
- package/dist/orthography.d.ts +7 -1
- package/dist/orthography.d.ts.map +1 -1
- package/dist/orthography.js +16 -5
- package/dist/orthography.js.map +1 -1
- package/dist/page-furniture.d.ts +5 -2
- package/dist/page-furniture.d.ts.map +1 -1
- package/dist/page-furniture.js +8 -2
- package/dist/page-furniture.js.map +1 -1
- package/dist/paragraph-length.d.ts +7 -0
- package/dist/paragraph-length.d.ts.map +1 -0
- package/dist/paragraph-length.js +10 -0
- package/dist/paragraph-length.js.map +1 -0
- package/dist/plain-source.d.ts +1 -0
- package/dist/plain-source.d.ts.map +1 -1
- package/dist/plain-source.js +2 -1
- package/dist/plain-source.js.map +1 -1
- package/dist/plugin.d.ts +121 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/profile/for-file.d.ts.map +1 -1
- package/dist/profile/for-file.js +3 -1
- package/dist/profile/for-file.js.map +1 -1
- package/dist/quoted-span.d.ts +0 -2
- package/dist/quoted-span.d.ts.map +1 -1
- package/dist/quoted-span.js +9 -4
- package/dist/quoted-span.js.map +1 -1
- package/dist/reasons.d.ts +3 -0
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +6 -0
- package/dist/reasons.js.map +1 -1
- package/dist/reference-lists.d.ts +3 -0
- package/dist/reference-lists.d.ts.map +1 -0
- package/dist/reference-lists.js +75 -0
- package/dist/reference-lists.js.map +1 -0
- package/dist/render/explain.d.ts +7 -1
- package/dist/render/explain.d.ts.map +1 -1
- package/dist/render/explain.js +36 -12
- package/dist/render/explain.js.map +1 -1
- package/dist/render/friendly.d.ts.map +1 -1
- package/dist/render/friendly.js +19 -9
- package/dist/render/friendly.js.map +1 -1
- package/dist/render/options.d.ts +7 -0
- package/dist/render/options.d.ts.map +1 -0
- package/dist/render/options.js +50 -0
- package/dist/render/options.js.map +1 -0
- package/dist/render/rules-json.d.ts +4 -1
- package/dist/render/rules-json.d.ts.map +1 -1
- package/dist/render/rules-json.js +102 -12
- package/dist/render/rules-json.js.map +1 -1
- package/dist/render/rules-table.d.ts +4 -0
- package/dist/render/rules-table.d.ts.map +1 -0
- package/dist/render/rules-table.js +70 -0
- package/dist/render/rules-table.js.map +1 -0
- package/dist/render/sarif.js +4 -4
- package/dist/render/sarif.js.map +1 -1
- package/dist/render/semantic.js +3 -3
- package/dist/render/semantic.js.map +1 -1
- package/dist/render/severity-name.d.ts +6 -0
- package/dist/render/severity-name.d.ts.map +1 -0
- package/dist/render/severity-name.js +7 -0
- package/dist/render/severity-name.js.map +1 -0
- package/dist/render/text.d.ts +7 -2
- package/dist/render/text.d.ts.map +1 -1
- package/dist/render/text.js +15 -4
- package/dist/render/text.js.map +1 -1
- package/dist/resolve-genre.d.ts +1 -1
- package/dist/resolve-genre.d.ts.map +1 -1
- package/dist/resolve-genre.js +4 -1
- package/dist/resolve-genre.js.map +1 -1
- package/dist/rule-genres.d.ts +24 -0
- package/dist/rule-genres.d.ts.map +1 -0
- package/dist/rule-genres.js +11 -0
- package/dist/rule-genres.js.map +1 -0
- package/dist/rule-guide.d.ts +54 -0
- package/dist/rule-guide.d.ts.map +1 -0
- package/dist/rule-guide.js +81 -0
- package/dist/rule-guide.js.map +1 -0
- package/dist/rule-load.d.ts.map +1 -1
- package/dist/rule-load.js +94 -32
- package/dist/rule-load.js.map +1 -1
- package/dist/rule-options.d.ts +50 -0
- package/dist/rule-options.d.ts.map +1 -0
- package/dist/rule-options.js +106 -0
- package/dist/rule-options.js.map +1 -0
- package/dist/run-semantic.d.ts +3 -1
- package/dist/run-semantic.d.ts.map +1 -1
- package/dist/run-semantic.js +8 -3
- package/dist/run-semantic.js.map +1 -1
- package/dist/run.d.ts +15 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +57 -10
- package/dist/run.js.map +1 -1
- package/dist/semantic.d.ts +1 -1
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +10 -3
- package/dist/semantic.js.map +1 -1
- package/dist/sentence-shape.d.ts.map +1 -1
- package/dist/sentence-shape.js +4 -4
- package/dist/sentence-shape.js.map +1 -1
- package/dist/setting-problems.d.ts +2 -1
- package/dist/setting-problems.d.ts.map +1 -1
- package/dist/setting-problems.js +6 -1
- package/dist/setting-problems.js.map +1 -1
- package/dist/span-cut.d.ts +6 -0
- package/dist/span-cut.d.ts.map +1 -0
- package/dist/span-cut.js +22 -0
- package/dist/span-cut.js.map +1 -0
- package/dist/span-merge.d.ts +4 -0
- package/dist/span-merge.d.ts.map +1 -0
- package/dist/span-merge.js +12 -0
- package/dist/span-merge.js.map +1 -0
- package/dist/speaker-labels.d.ts +4 -0
- package/dist/speaker-labels.d.ts.map +1 -0
- package/dist/speaker-labels.js +106 -0
- package/dist/speaker-labels.js.map +1 -0
- package/dist/stray-space.d.ts +17 -0
- package/dist/stray-space.d.ts.map +1 -0
- package/dist/stray-space.js +66 -0
- package/dist/stray-space.js.map +1 -0
- package/dist/structure/aside-depth.d.ts +21 -0
- package/dist/structure/aside-depth.d.ts.map +1 -0
- package/dist/structure/aside-depth.js +65 -0
- package/dist/structure/aside-depth.js.map +1 -0
- package/dist/structure/build.d.ts +5 -1
- package/dist/structure/build.d.ts.map +1 -1
- package/dist/structure/build.js +29 -17
- package/dist/structure/build.js.map +1 -1
- package/dist/structure/closed-pairs.d.ts +8 -0
- package/dist/structure/closed-pairs.d.ts.map +1 -0
- package/dist/structure/closed-pairs.js +22 -0
- package/dist/structure/closed-pairs.js.map +1 -0
- package/dist/structure/date-range.d.ts +21 -0
- package/dist/structure/date-range.d.ts.map +1 -0
- package/dist/structure/date-range.js +45 -0
- package/dist/structure/date-range.js.map +1 -0
- package/dist/structure/known-mentions.d.ts +18 -0
- package/dist/structure/known-mentions.d.ts.map +1 -0
- package/dist/structure/known-mentions.js +78 -0
- package/dist/structure/known-mentions.js.map +1 -0
- package/dist/structure/numbering.d.ts +1 -0
- package/dist/structure/numbering.d.ts.map +1 -1
- package/dist/structure/numbering.js +11 -6
- package/dist/structure/numbering.js.map +1 -1
- package/dist/structure/of.d.ts +3 -1
- package/dist/structure/of.d.ts.map +1 -1
- package/dist/structure/of.js +5 -1
- package/dist/structure/of.js.map +1 -1
- package/dist/structure/percent-sum.d.ts +16 -0
- package/dist/structure/percent-sum.d.ts.map +1 -0
- package/dist/structure/percent-sum.js +104 -0
- package/dist/structure/percent-sum.js.map +1 -0
- package/dist/structure/quoted-number.d.ts +8 -0
- package/dist/structure/quoted-number.d.ts.map +1 -0
- package/dist/structure/quoted-number.js +34 -0
- package/dist/structure/quoted-number.js.map +1 -0
- package/dist/structure/relative-find.d.ts.map +1 -1
- package/dist/structure/relative-find.js +34 -46
- package/dist/structure/relative-find.js.map +1 -1
- package/dist/structure/relative-resolve.d.ts.map +1 -1
- package/dist/structure/relative-resolve.js +94 -42
- package/dist/structure/relative-resolve.js.map +1 -1
- package/dist/structure/runs.d.ts +2 -0
- package/dist/structure/runs.d.ts.map +1 -1
- package/dist/structure/runs.js +2 -2
- package/dist/structure/runs.js.map +1 -1
- package/dist/structure/sexp.d.ts +1 -1
- package/dist/structure/sexp.d.ts.map +1 -1
- package/dist/structure/sexp.js +18 -6
- package/dist/structure/sexp.js.map +1 -1
- package/dist/structure/total.d.ts +3 -0
- package/dist/structure/total.d.ts.map +1 -1
- package/dist/structure/total.js +2 -2
- package/dist/structure/total.js.map +1 -1
- package/dist/structure/universal.d.ts +14 -2
- package/dist/structure/universal.d.ts.map +1 -1
- package/dist/structure/universal.js +17 -2
- package/dist/structure/universal.js.map +1 -1
- package/dist/structure/wrapped-tail.d.ts +14 -7
- package/dist/structure/wrapped-tail.d.ts.map +1 -1
- package/dist/structure/wrapped-tail.js +33 -8
- package/dist/structure/wrapped-tail.js.map +1 -1
- package/dist/style-load.d.ts +4 -0
- package/dist/style-load.d.ts.map +1 -0
- package/dist/style-load.js +28 -0
- package/dist/style-load.js.map +1 -0
- package/dist/style-parse.d.ts +19 -0
- package/dist/style-parse.d.ts.map +1 -0
- package/dist/style-parse.js +60 -0
- package/dist/style-parse.js.map +1 -0
- package/dist/subheading-line.d.ts +6 -0
- package/dist/subheading-line.d.ts.map +1 -0
- package/dist/subheading-line.js +57 -0
- package/dist/subheading-line.js.map +1 -0
- package/dist/team-names.d.ts.map +1 -1
- package/dist/team-names.js +11 -14
- package/dist/team-names.js.map +1 -1
- package/dist/template-syntax.d.ts +17 -0
- package/dist/template-syntax.d.ts.map +1 -0
- package/dist/template-syntax.js +140 -0
- package/dist/template-syntax.js.map +1 -0
- package/dist/text-above.d.ts +19 -0
- package/dist/text-above.d.ts.map +1 -0
- package/dist/text-above.js +43 -0
- package/dist/text-above.js.map +1 -0
- package/dist/text-figures.d.ts +10 -0
- package/dist/text-figures.d.ts.map +1 -0
- package/dist/text-figures.js +131 -0
- package/dist/text-figures.js.map +1 -0
- package/dist/trailing-aside.d.ts +2 -0
- package/dist/trailing-aside.d.ts.map +1 -0
- package/dist/trailing-aside.js +53 -0
- package/dist/trailing-aside.js.map +1 -0
- package/dist/tree-walk.d.ts +18 -0
- package/dist/tree-walk.d.ts.map +1 -0
- package/dist/tree-walk.js +45 -0
- package/dist/tree-walk.js.map +1 -0
- package/genres.yaml +60 -2
- package/package.json +5 -3
- package/reference-headings.yaml +17 -0
- package/rules/adverb-overuse.yaml +19 -0
- package/rules/agentless-passive.yaml +19 -0
- package/rules/agreement-slip.yaml +49 -0
- package/rules/ai-generated-composite.yaml +102 -0
- package/rules/ai-tell.yaml +23 -0
- package/rules/announced-count-mismatch.yaml +57 -0
- package/rules/announcing-opener.yaml +51 -0
- package/rules/assistant-residue.yaml +52 -0
- package/rules/bold-density.yaml +31 -0
- package/rules/broken-link.yaml +65 -0
- package/rules/closing-cliche.yaml +33 -0
- package/rules/colon-lead-in.yaml +59 -0
- package/rules/concrete-evidence-density.yaml +41 -0
- package/rules/contraction-consistency.yaml +18 -0
- package/rules/contrast-framing.yaml +57 -0
- package/rules/cushion-phrase-density.yaml +25 -0
- package/rules/dangling-figure-reference.yaml +61 -0
- package/rules/dangling-reference.yaml +53 -1
- package/rules/date-order.yaml +33 -1
- package/rules/date-range-reversed.yaml +46 -0
- package/rules/date-weekday-mismatch.yaml +17 -1
- package/rules/double-keigo.yaml +16 -0
- package/rules/doubled-punctuation.yaml +45 -0
- package/rules/doubled-word.yaml +17 -1
- package/rules/duplicate-definition.yaml +59 -1
- package/rules/emoji-density.yaml +25 -0
- package/rules/empty-conclusion.yaml +29 -0
- package/rules/empty-intensifier.yaml +19 -0
- package/rules/excessive-hedging.yaml +19 -0
- package/rules/expletive-construction.yaml +19 -0
- package/rules/heading-echo.yaml +32 -0
- package/rules/heading-level-skip.yaml +78 -0
- package/rules/hiragana-fukushi.yaml +16 -0
- package/rules/image-alt-text.yaml +54 -0
- package/rules/internal-jargon.yaml +21 -0
- package/rules/katakana-long-vowel.yaml +98 -0
- package/rules/kutoten-consistency.yaml +53 -0
- package/rules/latin-spacing.yaml +23 -4
- package/rules/max-kanji-continuous.yaml +16 -0
- package/rules/max-paragraph-length.yaml +42 -2
- package/rules/max-sentence-length.yaml +36 -0
- package/rules/ngram-repetition.yaml +29 -2
- package/rules/no-doubled-joshi.yaml +16 -0
- package/rules/no-em-dash.yaml +25 -0
- package/rules/no-mixed-desumasu.yaml +27 -2
- package/rules/no-nakaguro-parallel.yaml +20 -0
- package/rules/numbering-gap.yaml +53 -1
- package/rules/oxford-comma-consistency.yaml +19 -1
- package/rules/padded-intro.yaml +19 -0
- package/rules/paragraph-length-variance.yaml +49 -0
- package/rules/percent-sum-mismatch.yaml +58 -0
- package/rules/preamble-length.yaml +56 -0
- package/rules/preferred-term.yaml +27 -0
- package/rules/proper-noun-density.yaml +26 -0
- package/rules/repeated-conjunction.yaml +47 -0
- package/rules/repeated-sentence-head.yaml +23 -0
- package/rules/required-sections.yaml +49 -0
- package/rules/risk-disclosure.yaml +22 -0
- package/rules/rule-of-three.yaml +97 -0
- package/rules/sasete-itadaku.yaml +18 -0
- package/rules/section-length-uniformity.yaml +89 -0
- package/rules/sentence-initial-conjunction-run.yaml +18 -0
- package/rules/sentence-rhythm.yaml +25 -0
- package/rules/stock-transition.yaml +55 -0
- package/rules/stray-space.yaml +56 -0
- package/rules/taigen-dome-in-prose.yaml +19 -0
- package/rules/title-case-consistency.yaml +42 -0
- package/rules/total-mismatch.yaml +37 -1
- package/rules/unbalanced-bracket.yaml +56 -0
- package/rules/undefined-acronym.yaml +23 -0
- package/rules/unfilled-placeholder.yaml +50 -0
- package/rules/unqualified-superlative.yaml +19 -0
- package/rules/unsourced-number.yaml +16 -0
- package/rules/url-run-on.yaml +45 -0
- package/skills/chaff/SKILL.md +70 -0
- package/src/announced-count.ts +148 -0
- package/src/bare-url.ts +35 -0
- package/src/baseline.ts +17 -1
- package/src/body-section.ts +7 -0
- package/src/calendar-number.ts +33 -10
- package/src/cli-args.ts +6 -0
- package/src/cli-text.ts +8 -4
- package/src/cli.ts +37 -37
- package/src/closing-numbers.ts +72 -0
- package/src/commands/compare.ts +80 -0
- package/src/commands/eval.ts +19 -8
- package/src/commands/feedback.ts +12 -6
- package/src/commands/test.ts +20 -17
- package/src/commands/tree.ts +41 -5
- package/src/compare/atom.ts +33 -0
- package/src/compare/clock-time.ts +86 -0
- package/src/compare/extract.ts +78 -0
- package/src/compare/fact-text.ts +68 -0
- package/src/compare/markup-atoms.ts +29 -0
- package/src/compare/match.ts +105 -0
- package/src/compare/outcome.ts +70 -0
- package/src/compare/proper-nouns.ts +65 -0
- package/src/compare/render.ts +102 -0
- package/src/compare/spans.ts +17 -0
- package/src/compare/text-atoms.ts +95 -0
- package/src/compare/text.ts +120 -0
- package/src/compare/tree-atoms.ts +80 -0
- package/src/compare/written-names.ts +26 -0
- package/src/config/load.ts +21 -0
- package/src/config/option-problems.ts +70 -0
- package/src/config/read.ts +8 -0
- package/src/config/rule-problems.ts +12 -2
- package/src/config/style.ts +42 -0
- package/src/config/warnings.ts +13 -0
- package/src/config/write.ts +18 -4
- package/src/custom/bounded-match.ts +58 -0
- package/src/custom/load.ts +15 -0
- package/src/custom/parse.ts +274 -0
- package/src/custom/problems.ts +89 -0
- package/src/custom/regex-safety.ts +118 -0
- package/src/custom/token-pattern.ts +84 -0
- package/src/detect.ts +28 -2
- package/src/detectors/acronym-context.ts +32 -4
- package/src/detectors/acronym-expansion.ts +132 -1
- package/src/detectors/agreement-slip.ts +191 -0
- package/src/detectors/ai-phrasing.ts +137 -0
- package/src/detectors/announced-count.ts +25 -0
- package/src/detectors/broken-link.ts +90 -0
- package/src/detectors/cited-name.ts +6 -5
- package/src/detectors/cited-title.ts +96 -0
- package/src/detectors/concrete-evidence.ts +3 -2
- package/src/detectors/content-morphemes.ts +19 -0
- package/src/detectors/contrast-frame.ts +54 -0
- package/src/detectors/custom.ts +89 -0
- package/src/detectors/dangling-figure.ts +22 -0
- package/src/detectors/doubled-punctuation.ts +49 -0
- package/src/detectors/doubled-word.ts +19 -4
- package/src/detectors/en-shape.ts +0 -269
- package/src/detectors/enumerated-runs.ts +13 -4
- package/src/detectors/gram-furniture.ts +30 -0
- package/src/detectors/gram-place.ts +9 -5
- package/src/detectors/gram-windows.ts +31 -0
- package/src/detectors/heading-case.ts +30 -2
- package/src/detectors/heading-code-words.ts +35 -0
- package/src/detectors/heading-echo.ts +18 -22
- package/src/detectors/heading-level-skip.ts +19 -0
- package/src/detectors/heading-overlap.ts +65 -0
- package/src/detectors/image-alt-text.ts +11 -0
- package/src/detectors/index.ts +49 -2
- package/src/detectors/kutoten-consistency.ts +96 -0
- package/src/detectors/lead-in.ts +3 -1
- package/src/detectors/letter-joined-name.ts +15 -0
- package/src/detectors/lexicon-match.ts +9 -2
- package/src/detectors/lexicon.ts +6 -2
- package/src/detectors/list-item.ts +122 -0
- package/src/detectors/list-items.ts +163 -0
- package/src/detectors/list-lead-in.ts +33 -0
- package/src/detectors/list-sentence.ts +157 -0
- package/src/detectors/list-view.ts +157 -0
- package/src/detectors/long-vowel.ts +66 -0
- package/src/detectors/markup-finding.ts +24 -0
- package/src/detectors/name-numeral.ts +4 -2
- package/src/detectors/orthography.ts +24 -18
- package/src/detectors/oxford-comma.ts +297 -0
- package/src/detectors/place-run.ts +7 -4
- package/src/detectors/placeholder-text.ts +27 -0
- package/src/detectors/quote-around.ts +9 -0
- package/src/detectors/register.ts +37 -10
- package/src/detectors/roman-numeral.ts +3 -0
- package/src/detectors/sentence-ending.ts +14 -7
- package/src/detectors/sentence-length.ts +16 -5
- package/src/detectors/signals.ts +110 -53
- package/src/detectors/stacked-hedge.ts +6 -3
- package/src/detectors/stray-space.ts +40 -0
- package/src/detectors/structure-tree.ts +45 -1
- package/src/detectors/structure.ts +13 -6
- package/src/detectors/superlative-name.ts +7 -4
- package/src/detectors/superlative-scope.ts +8 -3
- package/src/detectors/token-column.ts +149 -0
- package/src/detectors/unbalanced-bracket.ts +153 -0
- package/src/detectors/url-run-on.ts +27 -0
- package/src/document-sections.ts +46 -0
- package/src/document.ts +116 -127
- package/src/email-parts.ts +269 -0
- package/src/eval.ts +14 -4
- package/src/figure-references.ts +112 -0
- package/src/files.ts +5 -0
- package/src/genre-parse.ts +30 -5
- package/src/genre-suggest.ts +15 -2
- package/src/heading-label.ts +55 -0
- package/src/in-page-nav.ts +48 -19
- package/src/joined-view.ts +1 -0
- package/src/levels.ts +14 -1
- package/src/line-paragraphs.ts +56 -10
- package/src/long-vowel.ts +99 -0
- package/src/markdown-node.ts +19 -0
- package/src/markdown-read.ts +44 -0
- package/src/markup.ts +210 -0
- package/src/mask.ts +10 -19
- package/src/number-name.ts +152 -25
- package/src/opening-line.ts +17 -0
- package/src/orthography.ts +20 -5
- package/src/page-furniture.ts +11 -2
- package/src/paragraph-length.ts +9 -0
- package/src/plain-source.ts +2 -1
- package/src/plugin.ts +107 -1
- package/src/profile/for-file.ts +3 -1
- package/src/quoted-span.ts +10 -4
- package/src/reasons.ts +9 -0
- package/src/reference-lists.ts +91 -0
- package/src/render/explain.ts +47 -13
- package/src/render/friendly.ts +20 -9
- package/src/render/options.ts +58 -0
- package/src/render/rules-json.ts +130 -14
- package/src/render/rules-table.ts +91 -0
- package/src/render/sarif.ts +4 -4
- package/src/render/semantic.ts +3 -3
- package/src/render/severity-name.ts +10 -0
- package/src/render/text.ts +21 -7
- package/src/resolve-genre.ts +4 -1
- package/src/rule-genres.ts +25 -0
- package/src/rule-guide.ts +135 -0
- package/src/rule-load.ts +98 -33
- package/src/rule-options.ts +131 -0
- package/src/run-semantic.ts +28 -20
- package/src/run.ts +78 -11
- package/src/semantic.ts +11 -3
- package/src/sentence-shape.ts +4 -5
- package/src/setting-problems.ts +7 -1
- package/src/span-cut.ts +28 -0
- package/src/span-merge.ts +13 -0
- package/src/speaker-labels.ts +129 -0
- package/src/stray-space.ts +81 -0
- package/src/structure/aside-depth.ts +67 -0
- package/src/structure/build.ts +38 -19
- package/src/structure/closed-pairs.ts +20 -0
- package/src/structure/date-range.ts +69 -0
- package/src/structure/known-mentions.ts +96 -0
- package/src/structure/numbering.ts +9 -5
- package/src/structure/of.ts +11 -3
- package/src/structure/percent-sum.ts +135 -0
- package/src/structure/quoted-number.ts +36 -0
- package/src/structure/relative-find.ts +34 -47
- package/src/structure/relative-resolve.ts +104 -42
- package/src/structure/runs.ts +2 -2
- package/src/structure/sexp.ts +17 -5
- package/src/structure/total.ts +2 -2
- package/src/structure/universal.ts +24 -4
- package/src/structure/wrapped-tail.ts +38 -13
- package/src/style-load.ts +28 -0
- package/src/style-parse.ts +77 -0
- package/src/subheading-line.ts +68 -0
- package/src/team-names.ts +13 -13
- package/src/template-syntax.ts +164 -0
- package/src/text-above.ts +49 -0
- package/src/text-figures.ts +147 -0
- package/src/trailing-aside.ts +50 -0
- package/src/tree-walk.ts +48 -0
- package/styles/bunkacho.yaml +25 -0
- package/styles/ieice.yaml +29 -0
- package/styles/jis-z8301-2011.yaml +25 -0
|
@@ -9,8 +9,8 @@ name:
|
|
|
9
9
|
en: Paragraph too long
|
|
10
10
|
|
|
11
11
|
why:
|
|
12
|
-
ja: 1
|
|
13
|
-
en: A dense paragraph gives the reader nowhere to pause.
|
|
12
|
+
ja: 1 段落に文を詰めると、読み手はどこで息継ぎしていいか分からなくなります。短い文をいくつ並べても壁にはならないので、段落が普通の長さの文を上限の数だけ並べたより長いときだけ指摘します。
|
|
13
|
+
en: A dense paragraph gives the reader nowhere to pause. Short sentences do not make a wall, so it is reported only when it is also longer than that many sentences of ordinary length.
|
|
14
14
|
|
|
15
15
|
message:
|
|
16
16
|
ja: この段落は {count} 文あります({limit} 文まで)
|
|
@@ -22,6 +22,13 @@ how_to_fix:
|
|
|
22
22
|
|
|
23
23
|
levels: { strict: 3, normal: 5, relaxed: 8 }
|
|
24
24
|
|
|
25
|
+
# 普通の長さの文 1 つの長さ。単位は adapter の lengthUnit(日本語は文字、英語は語)。
|
|
26
|
+
# 文の数が上限を超えても、段落の長さが「上限 × この長さ」以下なら指摘しない。子ども向けの文章のように短い文を重ねた段落は、息継ぎの場所がいくらでもある。
|
|
27
|
+
# corpus で、これより短い段落は短い文の積み重ね(子ども向けの解説、リリースの一覧、Q&A)だけだった。上限と掛けるので、段階・ジャンル・chaff.yaml の数値がそのまま効く。
|
|
28
|
+
full_sentence:
|
|
29
|
+
ja: 70
|
|
30
|
+
en: 18
|
|
31
|
+
|
|
25
32
|
# 条文・判決・論文の段落は、一つの規定や論点をまとめて書く。corpus のその種類の文書で、normal が最も長い一握りの段落だけを指すように測って置いた。
|
|
26
33
|
by_genre:
|
|
27
34
|
legal: { strict: 5, normal: 8, relaxed: 12 }
|
|
@@ -30,3 +37,36 @@ by_genre:
|
|
|
30
37
|
academic: { strict: 5, normal: 9, relaxed: 12 }
|
|
31
38
|
|
|
32
39
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
40
|
+
|
|
41
|
+
group: readability
|
|
42
|
+
summary:
|
|
43
|
+
ja: 文を詰めこみすぎて、息をつく場所がない段落
|
|
44
|
+
en: A paragraph packed with so many sentences that the reader has nowhere to pause
|
|
45
|
+
example:
|
|
46
|
+
ja:
|
|
47
|
+
config: { rules: { max-paragraph-length: strict } }
|
|
48
|
+
before: |
|
|
49
|
+
今期の売上は前年より一割増えましたが、その多くは春に新しく始めた定期購入の申し込みによるもので、店頭での買い物が増えたわけではありませんでした。一方で、店頭での販売は三か月続けて前年を下回り、特に平日の夕方の客数が大きく減っています。原因として、駅の反対側に開いた競合店と、夕方の品ぞろえの薄さが考えられるという声が、先月の店長会議で何人もの店長から出ました。来期は夕方の品ぞろえを見直し、定期購入の案内を店頭でも配ることで、両方の数字を同時に上げることを目指します。
|
|
50
|
+
after: |
|
|
51
|
+
今期の売上は前年より一割増えました。その多くは、新しく始めた定期購入の申し込みによるものです。
|
|
52
|
+
|
|
53
|
+
一方で、店頭での販売は三か月続けて前年を下回りました。特に平日の夕方の客数が大きく減っています。
|
|
54
|
+
|
|
55
|
+
来期は夕方の品ぞろえを見直し、定期購入の案内を店頭でも配ります。
|
|
56
|
+
en:
|
|
57
|
+
config: { rules: { max-paragraph-length: strict } }
|
|
58
|
+
before: |
|
|
59
|
+
Sales this term rose by a tenth over last year, and most of the growth came from the new subscription plan that we launched in the spring. In-store sales, on the other hand, fell below last year's level for three months in a row, with weekday evenings down the most. At the store managers' meeting, several people pointed to the competitor that opened nearby and to the thin evening range as likely causes. Next term we will review the evening range and hand out subscription leaflets in store, so that both numbers go up together.
|
|
60
|
+
after: |
|
|
61
|
+
Sales this term rose by a tenth over last year. Most of the growth came from the new subscription plan.
|
|
62
|
+
|
|
63
|
+
In-store sales fell for three months in a row. Weekday evenings fell the most.
|
|
64
|
+
|
|
65
|
+
Next term we will review the evening range and hand out subscription leaflets in store.
|
|
66
|
+
|
|
67
|
+
not_flagged:
|
|
68
|
+
ja: 文の数が多くても、短い文を重ねただけの段落(普通の長さの文を上限の数だけ並べたより短いもの)は指しません。
|
|
69
|
+
en: A paragraph of many short sentences is not reported, as long as it is shorter than that many sentences of ordinary length.
|
|
70
|
+
level_meaning:
|
|
71
|
+
ja: 一つの段落に {limit} 文まで
|
|
72
|
+
en: up to {limit} sentences in a paragraph
|
|
@@ -16,6 +16,15 @@ message:
|
|
|
16
16
|
ja: この文は {count} 文字あります({limit} 文字まで)
|
|
17
17
|
en: "This sentence runs {count} {count|word|words} (limit {limit})"
|
|
18
18
|
|
|
19
|
+
# 文書と違う言語で書いた文。和文の中の英文は語で、英文の中の和文は文字で数え、その言語の段と比べる。
|
|
20
|
+
messages:
|
|
21
|
+
embedded-en:
|
|
22
|
+
ja: この英文は {count} 語あります({limit} 語まで)
|
|
23
|
+
en: "This English sentence runs {count} {count|word|words} (limit {limit})"
|
|
24
|
+
embedded-ja:
|
|
25
|
+
ja: この和文は {count} 文字あります({limit} 文字まで)
|
|
26
|
+
en: "This Japanese sentence runs {count} {count|character|characters} (limit {limit})"
|
|
27
|
+
|
|
19
28
|
how_to_fix:
|
|
20
29
|
ja: 接続助詞のところで 2 文に割ってください。それだけで読めるようになります。
|
|
21
30
|
en: Split it in two at the conjunction.
|
|
@@ -55,8 +64,35 @@ by_genre:
|
|
|
55
64
|
en: { strict: 80, normal: 130, relaxed: 180 }
|
|
56
65
|
legal/judgment:
|
|
57
66
|
ja: { strict: 250, normal: 350, relaxed: 450 }
|
|
67
|
+
# 英語の定義は、限定を重ねた名詞句の一文になる。英語の用語集で測り、normal が列挙を詰めた定義や長い注記だけを指すように置いた。
|
|
68
|
+
# 日本語は既定の上限のままで、すでに最も長い一握りだけを指していた。
|
|
69
|
+
docs/glossary:
|
|
70
|
+
en: { strict: 30, normal: 40, relaxed: 50 }
|
|
58
71
|
academic:
|
|
59
72
|
ja: { strict: 100, normal: 140, relaxed: 180 }
|
|
60
73
|
en: { strict: 35, normal: 50, relaxed: 65 }
|
|
61
74
|
|
|
62
75
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
76
|
+
|
|
77
|
+
group: readability
|
|
78
|
+
summary:
|
|
79
|
+
ja: 読み終える前に主語を見失うほど長い一文
|
|
80
|
+
en: A sentence so long that the reader loses the subject before the verb
|
|
81
|
+
example:
|
|
82
|
+
ja:
|
|
83
|
+
before: |
|
|
84
|
+
新しい料金体系は先週の会議で営業部から提案があったもので来月から試験的に導入することになりましたが、既存の顧客への説明のしかたと請求システムを直す時期がまだ決まっていないため、担当者を決めたうえで今週中に進め方を相談したいと考えています。
|
|
85
|
+
after: |
|
|
86
|
+
新しい料金体系を、来月から試験的に導入します。既存の顧客への説明のしかたと、請求システムを直す時期はまだ決まっていません。今週中に担当者を決め、進め方を相談します。
|
|
87
|
+
en:
|
|
88
|
+
before: |
|
|
89
|
+
The new pricing, which the sales team proposed at last week's meeting, will be trialled from next month, but because we have not yet decided how to explain it to existing customers or when to change the billing system, we would like to agree on a plan this week.
|
|
90
|
+
after: |
|
|
91
|
+
The new pricing will be trialled from next month. We have not yet decided how to explain it to existing customers, or when to change the billing system. We will agree on a plan this week.
|
|
92
|
+
|
|
93
|
+
not_flagged:
|
|
94
|
+
ja: 見出し、表のセル、コードは数えません。法令や論文のように長い一文が普通の種類では、ジャンルが上限を長くします。
|
|
95
|
+
en: Headings, table cells and code are not counted. Genres where long sentences are normal (statutes, papers) raise the limit.
|
|
96
|
+
level_meaning:
|
|
97
|
+
ja: 一文 {limit} 字まで
|
|
98
|
+
en: up to {limit} words in a sentence
|
|
@@ -11,8 +11,8 @@ name:
|
|
|
11
11
|
en: Repeated phrasing
|
|
12
12
|
|
|
13
13
|
why:
|
|
14
|
-
ja:
|
|
15
|
-
en: The same phrasing again and again reads as nothing new being said.
|
|
14
|
+
ja: 同じ言い回しが何度も出ると、読み手は新しいことが書かれていないと感じます。日本語は文字の並びで、英語は語の切れ目にそろえた並びで数えます。一覧の項目ごとに付く括弧の札・リンクの文字・記号は、書き手の言い回しではないので数えません。
|
|
15
|
+
en: The same phrasing again and again reads as nothing new being said. Counted on runs of whole words in English and of characters in Japanese. Bracketed tags, link text and symbols that a listing repeats on every entry are not the writer's phrasing, and are not counted.
|
|
16
16
|
|
|
17
17
|
message:
|
|
18
18
|
ja: 「{word}」が {count} 回出てきます({limit} 回まで)
|
|
@@ -25,3 +25,30 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 3, normal: 5, relaxed: 9 }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
28
|
+
|
|
29
|
+
group: readability
|
|
30
|
+
summary:
|
|
31
|
+
ja: 同じ言い回しが何度も出てきて、新しいことを言っていないように読める所
|
|
32
|
+
en: The same phrase used over and over, so nothing new seems to be said
|
|
33
|
+
example:
|
|
34
|
+
ja:
|
|
35
|
+
pad: true
|
|
36
|
+
config: { rules: { ngram-repetition: strict } }
|
|
37
|
+
before: |
|
|
38
|
+
お客様の声を大切にしています。商品開発でもお客様の声を大切にしています。店頭でもお客様の声を大切にしています。電話の窓口でもお客様の声を大切にしています。
|
|
39
|
+
after: |
|
|
40
|
+
お客様の声を大切にしています。商品開発では試作品を常連の方に使ってもらい、店頭では買い物のあとに感想を聞いています。
|
|
41
|
+
en:
|
|
42
|
+
pad: true
|
|
43
|
+
config: { rules: { ngram-repetition: strict } }
|
|
44
|
+
before: |
|
|
45
|
+
We listen to our customers. In product design we listen to our customers. In our stores we listen to our customers. On the phone we listen to our customers.
|
|
46
|
+
after: |
|
|
47
|
+
We listen to our customers. Regulars try every prototype, and store staff ask shoppers what they thought.
|
|
48
|
+
|
|
49
|
+
not_flagged:
|
|
50
|
+
ja: 一覧の飾り(各項目に付くタグやリンクの文字)と、名前にかかる語句は数えません。短い文書は測りません。
|
|
51
|
+
en: Tags, link text and symbols that a listing repeats on every entry, and the words around a repeated name, are not counted. Short documents are not measured.
|
|
52
|
+
level_meaning:
|
|
53
|
+
ja: 同じ言い回し {limit} 回まで
|
|
54
|
+
en: up to {limit} uses of the same phrase
|
|
@@ -26,3 +26,19 @@ how_to_fix:
|
|
|
26
26
|
levels: { strict: 1, normal: 2, relaxed: 3 }
|
|
27
27
|
|
|
28
28
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
29
|
+
|
|
30
|
+
group: readability
|
|
31
|
+
summary:
|
|
32
|
+
ja: 「会社の部の課の方針」のように、同じ助詞が区切りなしに続く所
|
|
33
|
+
en: The same Japanese particle repeated with no break, so the reader cannot tell what attaches to what
|
|
34
|
+
example:
|
|
35
|
+
ja:
|
|
36
|
+
before: 本社の営業部の第二課の方針を確認しました。
|
|
37
|
+
after: 本社営業部にある第二課の方針を確認しました。
|
|
38
|
+
|
|
39
|
+
not_flagged:
|
|
40
|
+
ja: 読点で区切った並び、「」や『』の中の題名や引用は数えません。
|
|
41
|
+
en: Items separated by commas, and titles or quotations inside 「」 or 『』, are not counted.
|
|
42
|
+
level_meaning:
|
|
43
|
+
ja: 同じ助詞の連続 {limit} 回まで
|
|
44
|
+
en: up to {limit} of the same particle in a row
|
package/rules/no-em-dash.yaml
CHANGED
|
@@ -30,3 +30,28 @@ levels:
|
|
|
30
30
|
en: { strict: 3, normal: 8, relaxed: 20 }
|
|
31
31
|
|
|
32
32
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
33
|
+
|
|
34
|
+
group: ai-tells
|
|
35
|
+
summary:
|
|
36
|
+
ja: ダッシュ(——)が多すぎる所。英語では、生成された文章のよく知られた印の一つでもあります
|
|
37
|
+
en: Too many dashes, which is also one of the better-known marks of generated text
|
|
38
|
+
example:
|
|
39
|
+
ja:
|
|
40
|
+
pad: true
|
|
41
|
+
before: |
|
|
42
|
+
新しい料金——来月から始まります——は、請求書にも反映されます。支払いの期限——月末です——にご注意ください。
|
|
43
|
+
after: |
|
|
44
|
+
新しい料金は来月から始まり、請求書にも反映されます。支払いの期限は月末です。
|
|
45
|
+
en:
|
|
46
|
+
pad: true
|
|
47
|
+
before: |
|
|
48
|
+
The new prices — which start next month — will show on invoices. Payment is due — as before — at the end of the month.
|
|
49
|
+
after: |
|
|
50
|
+
The new prices start next month and will show on invoices. Payment is due at the end of the month, as before.
|
|
51
|
+
|
|
52
|
+
not_flagged:
|
|
53
|
+
ja: 短い文書は測りません。英語では、ダッシュそのものを誤りとは言いません。
|
|
54
|
+
en: Short documents are not measured. In English a dash is not called wrong; only a heavy hand is.
|
|
55
|
+
level_meaning:
|
|
56
|
+
ja: 1000 字あたり {limit} 個まで
|
|
57
|
+
en: up to {limit} per 1000 words
|
|
@@ -3,6 +3,7 @@ layer: L3
|
|
|
3
3
|
status: experimental
|
|
4
4
|
how_to_find: sentence-ending
|
|
5
5
|
word_list: polite-ending
|
|
6
|
+
extra_word_lists: [neutral-ending]
|
|
6
7
|
requires: [pos]
|
|
7
8
|
languages: [ja]
|
|
8
9
|
severity: warning
|
|
@@ -16,8 +17,14 @@ why:
|
|
|
16
17
|
en: Mixing polite and plain endings leaves the reader unsure who the document addresses. Neither register is wrong; consistency within one document is the point.
|
|
17
18
|
|
|
18
19
|
message:
|
|
19
|
-
ja:
|
|
20
|
-
en: "This sentence's ending register differs from the rest ({count} in
|
|
20
|
+
ja: この文だけ他と文末の調子が違います(本文の中で {count} 文)
|
|
21
|
+
en: "This sentence's ending register differs from the rest ({count} in the body text)"
|
|
22
|
+
|
|
23
|
+
# 数えるのは、文が属するまとまりの中。message は本文、list は箇条書き 1 つ(番号で始まる段落の並びも)。
|
|
24
|
+
messages:
|
|
25
|
+
list:
|
|
26
|
+
ja: この文だけ他と文末の調子が違います(この箇条書きの中で {count} 文)
|
|
27
|
+
en: "This sentence's ending register differs from the rest ({count} in this list)"
|
|
21
28
|
|
|
22
29
|
how_to_fix:
|
|
23
30
|
ja: 多いほうに揃えてください。少数派のほうを直すのが、いちばん手数が少なくて済みます。
|
|
@@ -27,3 +34,21 @@ how_to_fix:
|
|
|
27
34
|
levels: { strict: 5, normal: 3, relaxed: 1 }
|
|
28
35
|
|
|
29
36
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
37
|
+
|
|
38
|
+
group: consistency
|
|
39
|
+
summary:
|
|
40
|
+
ja: 「です・ます」の中に「だ・である」が混ざった文
|
|
41
|
+
en: A Japanese sentence whose ending (polite or plain) differs from the rest of the document
|
|
42
|
+
example:
|
|
43
|
+
ja:
|
|
44
|
+
before: |
|
|
45
|
+
新しい料金は来月から始まります。請求書の形式も変わります。支払いの期限は月末です。古い料金は三月で終わる。
|
|
46
|
+
after: |
|
|
47
|
+
新しい料金は来月から始まります。請求書の形式も変わります。支払いの期限は月末です。古い料金は三月で終わります。
|
|
48
|
+
|
|
49
|
+
not_flagged:
|
|
50
|
+
ja: どちらの調子が正しいかは決めません。多いほうに揃っていない、少ないほうの文だけを指します。本文と箇条書きは別々に数えます。箇条書きの中の少ないほうが文書全体では多いほうなら、その文は指しません。
|
|
51
|
+
en: Neither register is called right; only the sentences in the minority are pointed at. The body and each list are counted apart, and a sentence in a list's minority is left alone when its register is the document's majority.
|
|
52
|
+
level_meaning:
|
|
53
|
+
ja: 少ないほうの調子の文が {limit} 文以下のとき、それを指摘
|
|
54
|
+
en: reported when the minority register has {limit} sentences or fewer
|
|
@@ -25,3 +25,23 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 3, normal: 5, relaxed: 8 }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
28
|
+
|
|
29
|
+
group: readability
|
|
30
|
+
summary:
|
|
31
|
+
ja: 一つの文に「・」で並べた語が多すぎて、どれとどれが組なのか分からない所
|
|
32
|
+
en: So many items joined by middle dots (・) in one Japanese sentence that the groups blur
|
|
33
|
+
example:
|
|
34
|
+
ja:
|
|
35
|
+
before: 対象は営業・企画・総務・経理・人事・法務の各部と、東京・大阪・名古屋の各拠点です。
|
|
36
|
+
after: |
|
|
37
|
+
対象は次の部と拠点です。
|
|
38
|
+
|
|
39
|
+
- 部: 営業、企画、総務、経理、人事、法務
|
|
40
|
+
- 拠点: 東京、大阪、名古屋
|
|
41
|
+
|
|
42
|
+
not_flagged:
|
|
43
|
+
ja: 行の頭の「・」は箇条書きの印なので数えません。
|
|
44
|
+
en: A 「・」 at the start of a line is a bullet and is not counted.
|
|
45
|
+
level_meaning:
|
|
46
|
+
ja: 一文に中黒 {limit} 個まで
|
|
47
|
+
en: up to {limit} middle dots in a sentence
|
package/rules/numbering-gap.yaml
CHANGED
|
@@ -21,6 +21,58 @@ how_to_fix:
|
|
|
21
21
|
ja: 番号を振り直してください。削った条を欠番として残すなら、「第4条(削除)」のように番号だけを残すと読み手に伝わります。
|
|
22
22
|
en: Renumber. If a provision was removed on purpose, keep its number with a note such as "Section 4 [Deleted]".
|
|
23
23
|
|
|
24
|
-
levels: {
|
|
24
|
+
levels: { normal: error, relaxed: warning }
|
|
25
25
|
|
|
26
26
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
|
|
28
|
+
group: structure
|
|
29
|
+
summary:
|
|
30
|
+
ja: 第1条の次が第3条、(a) の次が (c) のように、番号が飛んだり重なったりしている所
|
|
31
|
+
en: A numbered item that skips or repeats a number, such as Article 3 right after Article 1
|
|
32
|
+
example:
|
|
33
|
+
ja:
|
|
34
|
+
before: |
|
|
35
|
+
# 就業規則
|
|
36
|
+
|
|
37
|
+
## 第1条(目的)
|
|
38
|
+
|
|
39
|
+
この規則は、働き方の決まりを定める。
|
|
40
|
+
|
|
41
|
+
## 第3条(勤務時間)
|
|
42
|
+
|
|
43
|
+
勤務時間は、午前九時から午後六時までとする。
|
|
44
|
+
after: |
|
|
45
|
+
# 就業規則
|
|
46
|
+
|
|
47
|
+
## 第1条(目的)
|
|
48
|
+
|
|
49
|
+
この規則は、働き方の決まりを定める。
|
|
50
|
+
|
|
51
|
+
## 第2条(勤務時間)
|
|
52
|
+
|
|
53
|
+
勤務時間は、午前九時から午後六時までとする。
|
|
54
|
+
en:
|
|
55
|
+
before: |
|
|
56
|
+
# Staff rules
|
|
57
|
+
|
|
58
|
+
## Article 1 (Purpose)
|
|
59
|
+
|
|
60
|
+
These rules set out how we work.
|
|
61
|
+
|
|
62
|
+
## Article 3 (Working hours)
|
|
63
|
+
|
|
64
|
+
Working hours are from nine to six.
|
|
65
|
+
after: |
|
|
66
|
+
# Staff rules
|
|
67
|
+
|
|
68
|
+
## Article 1 (Purpose)
|
|
69
|
+
|
|
70
|
+
These rules set out how we work.
|
|
71
|
+
|
|
72
|
+
## Article 2 (Working hours)
|
|
73
|
+
|
|
74
|
+
Working hours are from nine to six.
|
|
75
|
+
|
|
76
|
+
not_flagged:
|
|
77
|
+
ja: 同じ親の下で隣り合う番号だけを比べます。別の章の番号どうしは比べません。
|
|
78
|
+
en: Only numbers side by side under the same parent are compared.
|
|
@@ -3,7 +3,7 @@ layer: L3
|
|
|
3
3
|
status: experimental
|
|
4
4
|
how_to_find: oxford-comma
|
|
5
5
|
languages: [en]
|
|
6
|
-
extra_word_lists: [participle-word]
|
|
6
|
+
extra_word_lists: [participle-word, example-marker, pair-opener]
|
|
7
7
|
severity: info
|
|
8
8
|
|
|
9
9
|
name:
|
|
@@ -25,3 +25,21 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 3, normal: 2, relaxed: 1 }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
28
|
+
|
|
29
|
+
group: consistency
|
|
30
|
+
summary:
|
|
31
|
+
ja: 英語で、並べた最後の and の前にカンマを打つか打たないかが揃っていない所
|
|
32
|
+
en: Lists that put a comma before the final "and" in some places and not in others
|
|
33
|
+
example:
|
|
34
|
+
en:
|
|
35
|
+
before: |
|
|
36
|
+
We sell apples, pears, and plums. We ship to homes, offices, and schools. We accept cash, cards and vouchers.
|
|
37
|
+
after: |
|
|
38
|
+
We sell apples, pears, and plums. We ship to homes, offices, and schools. We accept cash, cards, and vouchers.
|
|
39
|
+
|
|
40
|
+
not_flagged:
|
|
41
|
+
ja: カンマを打つかどうかは決めません。半々に分かれた文書では、どちらが少ないとも言えないので指しません。
|
|
42
|
+
en: Whether to use the comma is not decided. A document split evenly has no minority and is not reported.
|
|
43
|
+
level_meaning:
|
|
44
|
+
ja: 少ないほうの打ち方が {limit} 箇所以下のとき指摘
|
|
45
|
+
en: reported when the minority style appears {limit} times or fewer
|
package/rules/padded-intro.yaml
CHANGED
|
@@ -30,3 +30,22 @@ levels:
|
|
|
30
30
|
|
|
31
31
|
# プレスリリース・メール・議事録の冒頭は理由や用件を言う所で、つかみではない。
|
|
32
32
|
use_for: [blog, business/report, business/proposal, legal, docs, academic, literature, speech]
|
|
33
|
+
|
|
34
|
+
group: wording
|
|
35
|
+
summary:
|
|
36
|
+
ja: 「近年、〜が注目されています」のように、どの文書にも当てはまる書き出し
|
|
37
|
+
en: An opening such as "In recent years, X has gained attention" that fits any document
|
|
38
|
+
example:
|
|
39
|
+
ja:
|
|
40
|
+
before: 近年、生成 AI が注目を集めています。今回、社内の問い合わせ対応に試しました。
|
|
41
|
+
after: 社内の問い合わせ対応に生成 AI を試し、回答までの時間が半分になりました。
|
|
42
|
+
en:
|
|
43
|
+
before: In recent years, generative AI has gained significant attention. We tried it on our internal help desk.
|
|
44
|
+
after: We tried generative AI on our internal help desk, and replies now take half as long.
|
|
45
|
+
|
|
46
|
+
not_flagged:
|
|
47
|
+
ja: 文書の冒頭(最初の 4 文)だけを見ます。本文の途中の「近年」は指しません。
|
|
48
|
+
en: Only the opening (the first four sentences) is checked; "in recent years" later in the text is not reported.
|
|
49
|
+
level_meaning:
|
|
50
|
+
ja: 当てはまる書き出しが {limit} 箇所あれば指摘
|
|
51
|
+
en: reported once there are {limit}
|
|
@@ -23,3 +23,52 @@ how_to_fix:
|
|
|
23
23
|
levels: { strict: 40, normal: 30, relaxed: 20 }
|
|
24
24
|
|
|
25
25
|
use_for: [blog, legal, docs, academic, literature, speech]
|
|
26
|
+
|
|
27
|
+
group: ai-tells
|
|
28
|
+
summary:
|
|
29
|
+
ja: どの段落もほぼ同じ長さで、型に流しこんだように見える所
|
|
30
|
+
en: Paragraphs all of about the same length, as if poured into a mould
|
|
31
|
+
example:
|
|
32
|
+
ja:
|
|
33
|
+
config: { genre: blog/tech }
|
|
34
|
+
before: |
|
|
35
|
+
最初に、道具を手元に入れます。公式のページから、使う機械に合った版を選んでください。
|
|
36
|
+
|
|
37
|
+
次に、設定の画面を開きます。右上の歯車の印を押すと、変えられる項目の一覧が出てきます。
|
|
38
|
+
|
|
39
|
+
続けて、仲間を招きます。左の端にある招待の画面で、相手の宛先を入れて送ってください。
|
|
40
|
+
|
|
41
|
+
最後に、動きを確かめます。試しの文書を一つ置いて、指摘が画面に出ることを見てください。
|
|
42
|
+
after: |
|
|
43
|
+
最初に、道具を手元に入れます。
|
|
44
|
+
|
|
45
|
+
次に、設定の画面を開きます。右上の歯車の印を押すと、変えられる項目の一覧が出てきます。項目は多いですが、最初に触るのは言語と文書の種類の二つだけで足ります。ほかは、使いながら必要になったときに変えてください。
|
|
46
|
+
|
|
47
|
+
続けて、仲間を招きます。
|
|
48
|
+
|
|
49
|
+
最後に、動きを確かめます。試しの文書を一つ置いて、指摘が画面に出ることを見てください。
|
|
50
|
+
en:
|
|
51
|
+
config: { genre: blog/tech }
|
|
52
|
+
before: |
|
|
53
|
+
First, install the tool. Pick the version for your computer from the official download page.
|
|
54
|
+
|
|
55
|
+
Next, open the settings. The gear icon at the top right shows everything that you can change.
|
|
56
|
+
|
|
57
|
+
Then, invite your team. Enter their addresses on the invite page on the left and press send.
|
|
58
|
+
|
|
59
|
+
Finally, check that it works. Add a sample document and look for the findings on the screen.
|
|
60
|
+
after: |
|
|
61
|
+
First, install the tool.
|
|
62
|
+
|
|
63
|
+
Next, open the settings. The gear icon at the top right shows everything that you can change. There are many options, but at first you only need two: the language and the kind of document. Change the rest when you need to.
|
|
64
|
+
|
|
65
|
+
Then, invite your team.
|
|
66
|
+
|
|
67
|
+
Finally, check that it works. Add a sample document and look for the findings on the screen.
|
|
68
|
+
|
|
69
|
+
not_flagged:
|
|
70
|
+
ja: ビジネス文書と技術文書のジャンルでは見ません。
|
|
71
|
+
en: Business and technical genres do not run this rule.
|
|
72
|
+
level_meaning:
|
|
73
|
+
ja: 段落の長さのばらつきが {limit}% 未満なら指摘
|
|
74
|
+
en: reported when paragraph length varies by less than {limit}%
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
id: percent-sum-mismatch
|
|
2
|
+
layer: L3
|
|
3
|
+
status: experimental
|
|
4
|
+
how_to_find: percent-sum-mismatch
|
|
5
|
+
requires: [quantities]
|
|
6
|
+
severity: warning
|
|
7
|
+
|
|
8
|
+
name:
|
|
9
|
+
ja: 内訳の割合を足しても 100% にならない
|
|
10
|
+
en: Shares of a whole that do not add up to 100%
|
|
11
|
+
|
|
12
|
+
why:
|
|
13
|
+
ja: 構成比や内訳の百分率を足して 100% にならないと、読み手はどの数字が違うのか、項目が抜けたのかを確かめることになります。項目を足したり消したり、数字を一つだけ直したりしたときに起きます。表のその列の見出しか、箇条書きや表のすぐ上の文・見出しに、全体を分けた割合の語(構成比、内訳、シェア)があるときだけ足します。丸めの誤差は、項目ごとに最後の桁の半分まで(少なくとも 1 ポイント)認めます。
|
|
14
|
+
en: When the shares of a whole do not add up to 100%, the reader has to work out which figure is wrong or which item is missing. It happens when an item is added or removed, or when one figure is changed. The percentages are added only when the column's header, or the sentence or heading right above the list or the table, names the parts of a whole (breakdown, market share, composition). Rounding is allowed, up to half the last digit per item (at least one point).
|
|
15
|
+
|
|
16
|
+
message:
|
|
17
|
+
ja: 内訳の割合の和が {sum} で、100% になりません
|
|
18
|
+
en: The shares add up to {sum}, not 100%
|
|
19
|
+
|
|
20
|
+
how_to_fix:
|
|
21
|
+
ja: 数字を確かめて、違う数字を直すか、抜けた項目(その他など)を足してください。
|
|
22
|
+
en: Check the figures. Correct the wrong one, or add the missing item (such as "Other").
|
|
23
|
+
|
|
24
|
+
levels: { strict: error, normal: warning, relaxed: info }
|
|
25
|
+
|
|
26
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
|
|
28
|
+
group: facts
|
|
29
|
+
summary:
|
|
30
|
+
ja: 構成比や内訳の百分率を足しても 100% にならない所
|
|
31
|
+
en: A breakdown whose percentages do not add up to 100%
|
|
32
|
+
example:
|
|
33
|
+
ja:
|
|
34
|
+
before: |
|
|
35
|
+
売上の構成比は次のとおりです。
|
|
36
|
+
|
|
37
|
+
- 国内:60%
|
|
38
|
+
- 海外:30%
|
|
39
|
+
after: |
|
|
40
|
+
売上の構成比は次のとおりです。
|
|
41
|
+
|
|
42
|
+
- 国内:60%
|
|
43
|
+
- 海外:40%
|
|
44
|
+
en:
|
|
45
|
+
before: |
|
|
46
|
+
Revenue breakdown by region:
|
|
47
|
+
|
|
48
|
+
- US: 60%
|
|
49
|
+
- Europe: 30%
|
|
50
|
+
after: |
|
|
51
|
+
Revenue breakdown by region:
|
|
52
|
+
|
|
53
|
+
- US: 60%
|
|
54
|
+
- Europe: 40%
|
|
55
|
+
|
|
56
|
+
not_flagged:
|
|
57
|
+
ja: 割合の語の無い百分率(利用率、伸び率)、複数回答の集計、符号の付いた増減(+3%)、合計の行がある表(合計が内訳の和と合わない の対象)、項目が一つだけのものは足しません。
|
|
58
|
+
en: 'Percentages not named as shares (rates, growth), multiple-answer counts, signed changes (+3%), a table with a total row (left to "A total that is not the sum of its items"), and a single item are not added.'
|
|
@@ -2,6 +2,7 @@ id: preamble-length
|
|
|
2
2
|
layer: L1
|
|
3
3
|
status: stable
|
|
4
4
|
how_to_find: preamble-length
|
|
5
|
+
requires: [headings]
|
|
5
6
|
severity: info
|
|
6
7
|
|
|
7
8
|
name:
|
|
@@ -23,3 +24,58 @@ how_to_fix:
|
|
|
23
24
|
levels: { strict: 1, normal: 2, relaxed: 4 }
|
|
24
25
|
|
|
25
26
|
use_for: [business, legal, docs, academic, literature, speech]
|
|
27
|
+
|
|
28
|
+
group: structure
|
|
29
|
+
summary:
|
|
30
|
+
ja: 最初の見出しまでの前置きが長く、本題になかなか入らない所
|
|
31
|
+
en: Too many paragraphs before the first heading, which delays the point
|
|
32
|
+
example:
|
|
33
|
+
ja:
|
|
34
|
+
before: |
|
|
35
|
+
# 来期の出店計画
|
|
36
|
+
|
|
37
|
+
当社はこれまで、駅前を中心に店を増やしてきました。
|
|
38
|
+
|
|
39
|
+
この十年で、店の数は二倍になりました。
|
|
40
|
+
|
|
41
|
+
一方で、郊外の店の売上は伸び悩んでいます。
|
|
42
|
+
|
|
43
|
+
## 決めたこと
|
|
44
|
+
|
|
45
|
+
来期は、郊外の二店を閉じ、駅前に一店を開きます。
|
|
46
|
+
after: |
|
|
47
|
+
# 来期の出店計画
|
|
48
|
+
|
|
49
|
+
来期は、郊外の二店を閉じ、駅前に一店を開きます。
|
|
50
|
+
|
|
51
|
+
## 理由
|
|
52
|
+
|
|
53
|
+
この十年で店の数は二倍になりましたが、郊外の店の売上は伸び悩んでいます。
|
|
54
|
+
en:
|
|
55
|
+
before: |
|
|
56
|
+
# Store plan for next year
|
|
57
|
+
|
|
58
|
+
Over the years we have opened most of our stores near stations.
|
|
59
|
+
|
|
60
|
+
In the last ten years the number of stores has doubled.
|
|
61
|
+
|
|
62
|
+
Suburban stores, however, have struggled to grow.
|
|
63
|
+
|
|
64
|
+
## Decision
|
|
65
|
+
|
|
66
|
+
Next year we will close two suburban stores and open one near a station.
|
|
67
|
+
after: |
|
|
68
|
+
# Store plan for next year
|
|
69
|
+
|
|
70
|
+
Next year we will close two suburban stores and open one near a station.
|
|
71
|
+
|
|
72
|
+
## Why
|
|
73
|
+
|
|
74
|
+
The number of stores has doubled in ten years, but suburban stores have struggled to grow.
|
|
75
|
+
|
|
76
|
+
not_flagged:
|
|
77
|
+
ja: 表題より下の見出しが一つもない文書は測りません。法務やブログのジャンルでは見ません。
|
|
78
|
+
en: A document with no heading below its title is not measured. Legal and blog genres do not run this rule.
|
|
79
|
+
level_meaning:
|
|
80
|
+
ja: 最初の見出しまで {limit} 段落まで
|
|
81
|
+
en: up to {limit} paragraphs before the first heading
|
|
@@ -21,7 +21,34 @@ how_to_fix:
|
|
|
21
21
|
ja: 「{preferred}」に直してください。固有名詞など、そのままにすべき箇所なら stet で理由を添えて黙らせます。
|
|
22
22
|
en: Change it to "{preferred}". Where it must stay (a product's own name, a quotation), silence it with stet and the reason.
|
|
23
23
|
|
|
24
|
+
# chaff explain と規則の一覧には指摘が無いので、{preferred} をこう読ませる。
|
|
25
|
+
placeholders:
|
|
26
|
+
preferred:
|
|
27
|
+
ja: prefer に並べた使う書き方
|
|
28
|
+
en: the spelling listed under prefer
|
|
29
|
+
|
|
24
30
|
# チームが並べた書き方なので、1 つでも指摘する。並べた時点で「使わない」と決めている。
|
|
25
31
|
levels: { strict: 1, normal: 1, relaxed: 3 }
|
|
26
32
|
|
|
27
33
|
use_for: [business, blog, technical, legal, docs, academic, literature, speech]
|
|
34
|
+
|
|
35
|
+
group: team
|
|
36
|
+
summary:
|
|
37
|
+
ja: チームで決めた表記と違う書き方(「サーバー」と決めたのに「サーバ」と書いた、など)。chaff.yaml の prefer に書いた組だけを見ます
|
|
38
|
+
en: A spelling the team has chosen not to use ("e-mail" where the team writes "email"), from prefer in chaff.yaml
|
|
39
|
+
example:
|
|
40
|
+
ja:
|
|
41
|
+
config: { prefer: { サーバ: サーバー } }
|
|
42
|
+
before: 新しいサーバを来週入れます。
|
|
43
|
+
after: 新しいサーバーを来週入れます。
|
|
44
|
+
en:
|
|
45
|
+
config: { prefer: { e-mail: email } }
|
|
46
|
+
before: Please send it by e-mail.
|
|
47
|
+
after: Please send it by email.
|
|
48
|
+
|
|
49
|
+
not_flagged:
|
|
50
|
+
ja: chaff.yaml の prefer に書いた組だけを見ます。何も書かなければ何も言いません。
|
|
51
|
+
en: Only the pairs under prefer in chaff.yaml are checked. With nothing listed, it says nothing.
|
|
52
|
+
level_meaning:
|
|
53
|
+
ja: 当てはまる語が {limit} 箇所あれば指摘
|
|
54
|
+
en: reported once there are {limit}
|
|
@@ -25,3 +25,29 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 20, normal: 40, relaxed: 80 }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
28
|
+
|
|
29
|
+
group: readability
|
|
30
|
+
summary:
|
|
31
|
+
ja: 製品名・会社名・人名が詰まりすぎて、知らない人には文の形が見えない所
|
|
32
|
+
en: So many product, company and personal names that a newcomer cannot see the sentence
|
|
33
|
+
example:
|
|
34
|
+
ja:
|
|
35
|
+
config: { rules: { proper-noun-density: strict } }
|
|
36
|
+
pad: true
|
|
37
|
+
before: |
|
|
38
|
+
田中さんと佐藤さんが、東京の丸の内にあるトヨタとソニーとパナソニックの展示を見てから、大阪の梅田で日立の鈴木さんと会いました。翌日は京都で任天堂の山本さんと、神戸で川崎重工の中村さんと会い、名古屋に戻ってデンソーの小林さんとトヨタの加藤さんに報告しました。
|
|
39
|
+
after: |
|
|
40
|
+
営業部の二人が、取引先三社の展示を見てから、大阪で別の取引先の担当者と会いました。翌日は関西の二社を回り、名古屋に戻って取引先二社に報告しました。
|
|
41
|
+
en:
|
|
42
|
+
pad: true
|
|
43
|
+
before: |
|
|
44
|
+
Alice and Bob from Contoso met Carol from Fabrikam in Seattle, then flew with Dave from Northwind to Boston to see Erin at Tailspin and Frank at Litware.
|
|
45
|
+
after: |
|
|
46
|
+
Two of our sales team met three customers on the West Coast, then flew to Boston to meet two more.
|
|
47
|
+
|
|
48
|
+
not_flagged:
|
|
49
|
+
ja: chaff.yaml の names に書いた名前は、何語に分かれても 1 つと数えます。短い文書(日本語 500 字、英語 200 語より短いもの)は測りません。
|
|
50
|
+
en: A name listed under names in chaff.yaml counts as one, however many words it has. Short documents (under 200 words) are not measured.
|
|
51
|
+
level_meaning:
|
|
52
|
+
ja: 1000 字あたり {limit} 個まで
|
|
53
|
+
en: up to {limit} per 1000 words
|