chaffjs 0.20.0 → 0.21.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/README.md +5 -4
- package/dist/api.d.ts +16 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/cli-text.d.ts +2 -0
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +14 -5
- package/dist/cli-text.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/command-help.d.ts +7 -0
- package/dist/command-help.d.ts.map +1 -0
- package/dist/command-help.js +18 -0
- package/dist/command-help.js.map +1 -0
- package/dist/commands/eval.js +2 -2
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/fix-plan.d.ts.map +1 -1
- package/dist/commands/fix-plan.js +11 -1
- package/dist/commands/fix-plan.js.map +1 -1
- package/dist/commands/help.d.ts +4 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +7 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/config/load.d.ts +2 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +1 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/option-problems.js +2 -2
- package/dist/config/option-problems.js.map +1 -1
- package/dist/config/rule-problems.js +2 -2
- package/dist/config/rule-problems.js.map +1 -1
- package/dist/custom/checked.d.ts +9 -0
- package/dist/custom/checked.d.ts.map +1 -0
- package/dist/custom/checked.js +3 -0
- package/dist/custom/checked.js.map +1 -0
- package/dist/custom/dsl-fields.d.ts +27 -0
- package/dist/custom/dsl-fields.d.ts.map +1 -0
- package/dist/custom/dsl-fields.js +86 -0
- package/dist/custom/dsl-fields.js.map +1 -0
- package/dist/custom/load.d.ts.map +1 -1
- package/dist/custom/load.js +2 -0
- package/dist/custom/load.js.map +1 -1
- package/dist/custom/parse.d.ts +14 -3
- package/dist/custom/parse.d.ts.map +1 -1
- package/dist/custom/parse.js +44 -40
- package/dist/custom/parse.js.map +1 -1
- package/dist/custom/problems.d.ts.map +1 -1
- package/dist/custom/problems.js +11 -1
- package/dist/custom/problems.js.map +1 -1
- package/dist/detectors/blank-structure.d.ts.map +1 -1
- package/dist/detectors/blank-structure.js +6 -4
- package/dist/detectors/blank-structure.js.map +1 -1
- package/dist/detectors/clause-shape.d.ts +22 -0
- package/dist/detectors/clause-shape.d.ts.map +1 -0
- package/dist/detectors/clause-shape.js +149 -0
- package/dist/detectors/clause-shape.js.map +1 -0
- package/dist/detectors/code-fences.d.ts +34 -0
- package/dist/detectors/code-fences.d.ts.map +1 -0
- package/dist/detectors/code-fences.js +100 -0
- package/dist/detectors/code-fences.js.map +1 -0
- package/dist/detectors/cross-definitions.d.ts +4 -0
- package/dist/detectors/cross-definitions.d.ts.map +1 -0
- package/dist/detectors/cross-definitions.js +43 -0
- package/dist/detectors/cross-definitions.js.map +1 -0
- package/dist/detectors/cross-facts.d.ts +4 -0
- package/dist/detectors/cross-facts.d.ts.map +1 -0
- package/dist/detectors/cross-facts.js +53 -0
- package/dist/detectors/cross-facts.js.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-duplicate-definition.d.ts +3 -0
- package/dist/detectors/cross-registry/cross-doc-duplicate-definition.d.ts.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-duplicate-definition.js +3 -0
- package/dist/detectors/cross-registry/cross-doc-duplicate-definition.js.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-fact-conflict.d.ts +3 -0
- package/dist/detectors/cross-registry/cross-doc-fact-conflict.d.ts.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-fact-conflict.js +3 -0
- package/dist/detectors/cross-registry/cross-doc-fact-conflict.js.map +1 -0
- package/dist/detectors/custom.d.ts.map +1 -1
- package/dist/detectors/custom.js +4 -1
- package/dist/detectors/custom.js.map +1 -1
- package/dist/detectors/defined-term-form.d.ts +25 -0
- package/dist/detectors/defined-term-form.d.ts.map +1 -0
- package/dist/detectors/defined-term-form.js +170 -0
- package/dist/detectors/defined-term-form.js.map +1 -0
- package/dist/detectors/email-letter.d.ts +46 -0
- package/dist/detectors/email-letter.d.ts.map +1 -0
- package/dist/detectors/email-letter.js +234 -0
- package/dist/detectors/email-letter.js.map +1 -0
- package/dist/detectors/impossible-date.d.ts +20 -0
- package/dist/detectors/impossible-date.d.ts.map +1 -0
- package/dist/detectors/impossible-date.js +105 -0
- package/dist/detectors/impossible-date.js.map +1 -0
- package/dist/detectors/impossible-time.d.ts +18 -0
- package/dist/detectors/impossible-time.d.ts.map +1 -0
- package/dist/detectors/impossible-time.js +116 -0
- package/dist/detectors/impossible-time.js.map +1 -0
- package/dist/detectors/link-shape.d.ts +11 -0
- package/dist/detectors/link-shape.d.ts.map +1 -0
- package/dist/detectors/link-shape.js +56 -0
- package/dist/detectors/link-shape.js.map +1 -0
- package/dist/detectors/mark-shape.d.ts +53 -0
- package/dist/detectors/mark-shape.d.ts.map +1 -0
- package/dist/detectors/mark-shape.js +160 -0
- package/dist/detectors/mark-shape.js.map +1 -0
- package/dist/detectors/registry/adverb-polarity.d.ts +3 -0
- package/dist/detectors/registry/adverb-polarity.d.ts.map +1 -0
- package/dist/detectors/registry/adverb-polarity.js +3 -0
- package/dist/detectors/registry/adverb-polarity.js.map +1 -0
- package/dist/detectors/registry/attachment-missing.d.ts +3 -0
- package/dist/detectors/registry/attachment-missing.d.ts.map +1 -0
- package/dist/detectors/registry/attachment-missing.js +3 -0
- package/dist/detectors/registry/attachment-missing.js.map +1 -0
- package/dist/detectors/registry/bare-url-mix.d.ts +3 -0
- package/dist/detectors/registry/bare-url-mix.d.ts.map +1 -0
- package/dist/detectors/registry/bare-url-mix.js +3 -0
- package/dist/detectors/registry/bare-url-mix.js.map +1 -0
- package/dist/detectors/registry/caps-shouting.d.ts +3 -0
- package/dist/detectors/registry/caps-shouting.d.ts.map +1 -0
- package/dist/detectors/registry/caps-shouting.js +3 -0
- package/dist/detectors/registry/caps-shouting.js.map +1 -0
- package/dist/detectors/registry/code-fence-language.d.ts +3 -0
- package/dist/detectors/registry/code-fence-language.d.ts.map +1 -0
- package/dist/detectors/registry/code-fence-language.js +3 -0
- package/dist/detectors/registry/code-fence-language.js.map +1 -0
- package/dist/detectors/registry/defined-name-repeated.d.ts +3 -0
- package/dist/detectors/registry/defined-name-repeated.d.ts.map +1 -0
- package/dist/detectors/registry/defined-name-repeated.js +3 -0
- package/dist/detectors/registry/defined-name-repeated.js.map +1 -0
- package/dist/detectors/registry/defined-term-form.d.ts +3 -0
- package/dist/detectors/registry/defined-term-form.d.ts.map +1 -0
- package/dist/detectors/registry/defined-term-form.js +3 -0
- package/dist/detectors/registry/defined-term-form.js.map +1 -0
- package/dist/detectors/registry/email-frame.d.ts +3 -0
- package/dist/detectors/registry/email-frame.d.ts.map +1 -0
- package/dist/detectors/registry/email-frame.js +3 -0
- package/dist/detectors/registry/email-frame.js.map +1 -0
- package/dist/detectors/registry/email-subject.d.ts +3 -0
- package/dist/detectors/registry/email-subject.d.ts.map +1 -0
- package/dist/detectors/registry/email-subject.js +3 -0
- package/dist/detectors/registry/email-subject.js.map +1 -0
- package/dist/detectors/registry/ending-run.d.ts +3 -0
- package/dist/detectors/registry/ending-run.d.ts.map +1 -0
- package/dist/detectors/registry/ending-run.js +3 -0
- package/dist/detectors/registry/ending-run.js.map +1 -0
- package/dist/detectors/registry/heading-command.d.ts +3 -0
- package/dist/detectors/registry/heading-command.d.ts.map +1 -0
- package/dist/detectors/registry/heading-command.js +3 -0
- package/dist/detectors/registry/heading-command.js.map +1 -0
- package/dist/detectors/registry/hyphen-dash.d.ts +3 -0
- package/dist/detectors/registry/hyphen-dash.d.ts.map +1 -0
- package/dist/detectors/registry/hyphen-dash.js +3 -0
- package/dist/detectors/registry/hyphen-dash.js.map +1 -0
- package/dist/detectors/registry/image-file-name-alt.d.ts +3 -0
- package/dist/detectors/registry/image-file-name-alt.d.ts.map +1 -0
- package/dist/detectors/registry/image-file-name-alt.js +3 -0
- package/dist/detectors/registry/image-file-name-alt.js.map +1 -0
- package/dist/detectors/registry/impossible-date.d.ts +3 -0
- package/dist/detectors/registry/impossible-date.d.ts.map +1 -0
- package/dist/detectors/registry/impossible-date.js +3 -0
- package/dist/detectors/registry/impossible-date.js.map +1 -0
- package/dist/detectors/registry/impossible-time.d.ts +3 -0
- package/dist/detectors/registry/impossible-time.d.ts.map +1 -0
- package/dist/detectors/registry/impossible-time.js +3 -0
- package/dist/detectors/registry/impossible-time.js.map +1 -0
- package/dist/detectors/registry/latin-abbreviation.d.ts +3 -0
- package/dist/detectors/registry/latin-abbreviation.d.ts.map +1 -0
- package/dist/detectors/registry/latin-abbreviation.js +3 -0
- package/dist/detectors/registry/latin-abbreviation.js.map +1 -0
- package/dist/detectors/registry/link-text-url-mismatch.d.ts +3 -0
- package/dist/detectors/registry/link-text-url-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/link-text-url-mismatch.js +3 -0
- package/dist/detectors/registry/link-text-url-mismatch.js.map +1 -0
- package/dist/detectors/registry/mark-consistency.d.ts +3 -0
- package/dist/detectors/registry/mark-consistency.d.ts.map +1 -0
- package/dist/detectors/registry/mark-consistency.js +3 -0
- package/dist/detectors/registry/mark-consistency.js.map +1 -0
- package/dist/detectors/registry/origin-particle.d.ts +3 -0
- package/dist/detectors/registry/origin-particle.d.ts.map +1 -0
- package/dist/detectors/registry/origin-particle.js +3 -0
- package/dist/detectors/registry/origin-particle.js.map +1 -0
- package/dist/detectors/registry/request-without-deadline.d.ts +3 -0
- package/dist/detectors/registry/request-without-deadline.d.ts.map +1 -0
- package/dist/detectors/registry/request-without-deadline.js +3 -0
- package/dist/detectors/registry/request-without-deadline.js.map +1 -0
- package/dist/detectors/registry/sentence-spacing.d.ts +3 -0
- package/dist/detectors/registry/sentence-spacing.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-spacing.js +3 -0
- package/dist/detectors/registry/sentence-spacing.js.map +1 -0
- package/dist/detectors/registry/shell-prompt.d.ts +3 -0
- package/dist/detectors/registry/shell-prompt.d.ts.map +1 -0
- package/dist/detectors/registry/shell-prompt.js +3 -0
- package/dist/detectors/registry/shell-prompt.js.map +1 -0
- package/dist/detectors/registry/step-statement.d.ts +3 -0
- package/dist/detectors/registry/step-statement.d.ts.map +1 -0
- package/dist/detectors/registry/step-statement.js +3 -0
- package/dist/detectors/registry/step-statement.js.map +1 -0
- package/dist/detectors/registry/unpaired-parallel.d.ts +3 -0
- package/dist/detectors/registry/unpaired-parallel.d.ts.map +1 -0
- package/dist/detectors/registry/unpaired-parallel.js +3 -0
- package/dist/detectors/registry/unpaired-parallel.js.map +1 -0
- package/dist/detectors/request-owner.d.ts +23 -0
- package/dist/detectors/request-owner.d.ts.map +1 -0
- package/dist/detectors/request-owner.js +110 -0
- package/dist/detectors/request-owner.js.map +1 -0
- package/dist/detectors/technical-docs.d.ts +32 -0
- package/dist/detectors/technical-docs.d.ts.map +1 -0
- package/dist/detectors/technical-docs.js +199 -0
- package/dist/detectors/technical-docs.js.map +1 -0
- package/dist/extension/pack-read.d.ts +21 -0
- package/dist/extension/pack-read.d.ts.map +1 -0
- package/dist/extension/pack-read.js +117 -0
- package/dist/extension/pack-read.js.map +1 -0
- package/dist/extension/plugin-load.d.ts.map +1 -1
- package/dist/extension/plugin-load.js +44 -10
- package/dist/extension/plugin-load.js.map +1 -1
- package/dist/extension/plugin-parse.d.ts.map +1 -1
- package/dist/extension/plugin-parse.js +10 -3
- package/dist/extension/plugin-parse.js.map +1 -1
- package/dist/facts/address-values.d.ts +5 -0
- package/dist/facts/address-values.d.ts.map +1 -0
- package/dist/facts/address-values.js +64 -0
- package/dist/facts/address-values.js.map +1 -0
- package/dist/facts/cross-facts.d.ts +20 -0
- package/dist/facts/cross-facts.d.ts.map +1 -0
- package/dist/facts/cross-facts.js +41 -0
- package/dist/facts/cross-facts.js.map +1 -0
- package/dist/fix-plan/chosen-depth.d.ts +10 -0
- package/dist/fix-plan/chosen-depth.d.ts.map +1 -0
- package/dist/fix-plan/chosen-depth.js +24 -0
- package/dist/fix-plan/chosen-depth.js.map +1 -0
- package/dist/fix-plan/mode.d.ts +13 -4
- package/dist/fix-plan/mode.d.ts.map +1 -1
- package/dist/fix-plan/mode.js +38 -7
- package/dist/fix-plan/mode.js.map +1 -1
- package/dist/fix-plan/plan.d.ts +20 -0
- package/dist/fix-plan/plan.d.ts.map +1 -1
- package/dist/fix-plan/plan.js +23 -5
- package/dist/fix-plan/plan.js.map +1 -1
- package/dist/fix-plan/render.d.ts.map +1 -1
- package/dist/fix-plan/render.js +24 -0
- package/dist/fix-plan/render.js.map +1 -1
- package/dist/fix-plan/text.d.ts +8 -0
- package/dist/fix-plan/text.d.ts.map +1 -1
- package/dist/fix-plan/text.js +36 -10
- package/dist/fix-plan/text.js.map +1 -1
- package/dist/genre-load.d.ts +1 -1
- package/dist/genre-load.d.ts.map +1 -1
- package/dist/genre-load.js +7 -4
- package/dist/genre-load.js.map +1 -1
- package/dist/genre-parse.d.ts +6 -0
- package/dist/genre-parse.d.ts.map +1 -1
- package/dist/genre-parse.js +18 -0
- package/dist/genre-parse.js.map +1 -1
- package/dist/init.js +10 -10
- package/dist/init.js.map +1 -1
- package/dist/known-genres.d.ts +8 -0
- package/dist/known-genres.d.ts.map +1 -0
- package/dist/known-genres.js +17 -0
- package/dist/known-genres.js.map +1 -0
- package/dist/link-shape.d.ts +20 -0
- package/dist/link-shape.d.ts.map +1 -0
- package/dist/link-shape.js +58 -0
- package/dist/link-shape.js.map +1 -0
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +15 -4
- package/dist/reasons.js.map +1 -1
- package/dist/render/explain.d.ts.map +1 -1
- package/dist/render/explain.js +11 -2
- package/dist/render/explain.js.map +1 -1
- package/dist/render/friendly.js +1 -1
- package/dist/render/friendly.js.map +1 -1
- package/dist/render/rules-json.d.ts.map +1 -1
- package/dist/render/rules-json.js +12 -3
- package/dist/render/rules-json.js.map +1 -1
- package/dist/render/rules-table.js +6 -6
- package/dist/render/rules-table.js.map +1 -1
- package/dist/render/semantic.js +2 -2
- package/dist/render/semantic.js.map +1 -1
- package/dist/render/suppressions.js +2 -2
- package/dist/render/suppressions.js.map +1 -1
- package/dist/rewrite-depth.d.ts +22 -0
- package/dist/rewrite-depth.d.ts.map +1 -0
- package/dist/rewrite-depth.js +42 -0
- package/dist/rewrite-depth.js.map +1 -0
- package/dist/rule-fields.d.ts +23 -0
- package/dist/rule-fields.d.ts.map +1 -0
- package/dist/rule-fields.js +64 -0
- package/dist/rule-fields.js.map +1 -0
- package/dist/rule-guide.d.ts +3 -0
- package/dist/rule-guide.d.ts.map +1 -1
- package/dist/rule-guide.js +6 -0
- package/dist/rule-guide.js.map +1 -1
- package/dist/rule-load.d.ts.map +1 -1
- package/dist/rule-load.js +13 -5
- package/dist/rule-load.js.map +1 -1
- package/dist/rule-offs.d.ts +14 -0
- package/dist/rule-offs.d.ts.map +1 -0
- package/dist/rule-offs.js +45 -0
- package/dist/rule-offs.js.map +1 -0
- package/dist/structure/build.d.ts.map +1 -1
- package/dist/structure/build.js +14 -1
- package/dist/structure/build.js.map +1 -1
- package/dist/structure/cross-definitions.d.ts +23 -0
- package/dist/structure/cross-definitions.d.ts.map +1 -0
- package/dist/structure/cross-definitions.js +34 -0
- package/dist/structure/cross-definitions.js.map +1 -0
- package/genres.yaml +14 -313
- package/package.json +3 -3
- package/rules/absolute-exception.yaml +3 -1
- package/rules/abstract-length.yaml +7 -1
- package/rules/acronym-expansion-conflict.yaml +2 -1
- package/rules/adverb-overuse.yaml +7 -1
- package/rules/adverb-without-negation.yaml +60 -0
- package/rules/adversative-ga-repeat.yaml +2 -1
- package/rules/agentless-passive.yaml +10 -1
- package/rules/agreement-slip.yaml +4 -1
- package/rules/ai-generated-composite.yaml +6 -1
- package/rules/ai-structure.yaml +8 -2
- package/rules/ai-tell.yaml +7 -1
- package/rules/all-caps-shouting.yaml +61 -0
- package/rules/announced-count-mismatch.yaml +3 -1
- package/rules/announcing-opener.yaml +7 -1
- package/rules/article-sound.yaml +6 -2
- package/rules/assistant-residue.yaml +4 -1
- package/rules/attachment-not-attached.yaml +112 -0
- package/rules/baito-keigo.yaml +64 -0
- package/rules/bare-url-mix.yaml +86 -0
- package/rules/bold-density.yaml +1 -0
- package/rules/bold-label-list.yaml +9 -1
- package/rules/bracket-nesting.yaml +2 -1
- package/rules/bracket-width-consistency.yaml +64 -0
- package/rules/broken-link.yaml +1 -1
- package/rules/chat-citation-residue.yaml +2 -1
- package/rules/citation-reference-mismatch.yaml +7 -1
- package/rules/citation-style-mix.yaml +7 -1
- package/rules/clause-chain.yaml +6 -1
- package/rules/closing-cliche.yaml +7 -0
- package/rules/code-fence-language-mix.yaml +176 -0
- package/rules/colloquial-opener.yaml +62 -0
- package/rules/colon-lead-in.yaml +7 -1
- package/rules/concrete-evidence-density.yaml +6 -0
- package/rules/contraction-consistency.yaml +4 -1
- package/rules/contrast-framing.yaml +7 -1
- package/rules/cross-doc-duplicate-definition.yaml +70 -0
- package/rules/cross-doc-fact-conflict.yaml +64 -0
- package/rules/cushion-phrase-density.yaml +8 -1
- package/rules/dangling-figure-reference.yaml +3 -1
- package/rules/dangling-reference.yaml +3 -1
- package/rules/date-format-consistency.yaml +3 -2
- package/rules/date-order.yaml +3 -1
- package/rules/date-range-reversed.yaml +3 -1
- package/rules/date-weekday-mismatch.yaml +3 -1
- package/rules/date-without-year.yaml +4 -3
- package/rules/defined-name-repeated.yaml +97 -0
- package/rules/defined-term-form.yaml +113 -0
- package/rules/demonstrative-opener-run.yaml +2 -1
- package/rules/double-keigo.yaml +6 -1
- package/rules/double-negative.yaml +5 -1
- package/rules/doubled-nado.yaml +2 -1
- package/rules/doubled-punctuation.yaml +1 -1
- package/rules/doubled-word.yaml +4 -1
- package/rules/duplicate-definition.yaml +3 -1
- package/rules/duplicate-heading.yaml +1 -1
- package/rules/duration-mismatch.yaml +2 -1
- package/rules/elapsed-years-mismatch.yaml +4 -1
- package/rules/email-greeting-closing.yaml +122 -0
- package/rules/email-subject-length.yaml +112 -0
- package/rules/emoji-density.yaml +3 -1
- package/rules/emoji-heading.yaml +7 -1
- package/rules/empty-intensifier.yaml +4 -0
- package/rules/empty-list-item.yaml +2 -1
- package/rules/empty-section.yaml +1 -1
- package/rules/empty-table-cell.yaml +2 -1
- package/rules/excessive-hedging.yaml +7 -1
- package/rules/exclamation-width-consistency.yaml +64 -0
- package/rules/expletive-construction.yaml +7 -1
- package/rules/fact-conflict.yaml +4 -1
- package/rules/figure-reference-order.yaml +7 -1
- package/rules/fullwidth-alnum-consistency.yaml +2 -2
- package/rules/hankaku-kana.yaml +1 -1
- package/rules/heading-command-missing.yaml +109 -0
- package/rules/heading-echo.yaml +6 -1
- package/rules/heading-level-skip.yaml +3 -3
- package/rules/heading-numbering-mix.yaml +4 -3
- package/rules/hiragana-fukushi.yaml +4 -1
- package/rules/homophone-slip.yaml +5 -1
- package/rules/humble-for-others.yaml +63 -0
- package/rules/hyphen-as-dash.yaml +59 -0
- package/rules/idiom-misuse.yaml +4 -1
- package/rules/image-file-name-alt.yaml +83 -0
- package/rules/impossible-date.yaml +79 -0
- package/rules/impossible-time.yaml +76 -0
- package/rules/internal-jargon.yaml +1 -1
- package/rules/invisible-character.yaml +1 -1
- package/rules/katakana-density.yaml +2 -1
- package/rules/katakana-long-vowel.yaml +1 -1
- package/rules/known-misspelling.yaml +2 -1
- package/rules/kutoten-consistency.yaml +1 -1
- package/rules/latin-abbreviation-form.yaml +58 -0
- package/rules/latin-spacing.yaml +6 -2
- package/rules/link-text-url-mismatch.yaml +72 -0
- package/rules/list-item-form-mix.yaml +7 -1
- package/rules/max-kanji-continuous.yaml +10 -2
- package/rules/max-paragraph-length.yaml +4 -1
- package/rules/max-sentence-length.yaml +29 -21
- package/rules/max-ten.yaml +4 -1
- package/rules/misconversion.yaml +2 -1
- package/rules/modal-conflict.yaml +2 -1
- package/rules/name-variant.yaml +4 -3
- package/rules/ngram-repetition.yaml +5 -0
- package/rules/no-doubled-joshi.yaml +5 -1
- package/rules/no-em-dash.yaml +4 -1
- package/rules/no-lead.yaml +6 -1
- package/rules/no-mixed-desumasu.yaml +5 -2
- package/rules/no-nakaguro-parallel.yaml +3 -0
- package/rules/nominalization.yaml +5 -1
- package/rules/number-style-consistency.yaml +6 -1
- package/rules/number-without-unit.yaml +2 -1
- package/rules/numbering-gap.yaml +1 -1
- package/rules/one-sentence-paragraph-run.yaml +5 -1
- package/rules/orthographic-variant.yaml +4 -1
- package/rules/outside-announced-list.yaml +2 -1
- package/rules/oxford-comma-consistency.yaml +3 -1
- package/rules/padded-intro.yaml +7 -0
- package/rules/paragraph-length-variance.yaml +7 -1
- package/rules/paragraph-restatement.yaml +6 -1
- package/rules/percent-sum-mismatch.yaml +3 -1
- package/rules/person-consistency.yaml +4 -1
- package/rules/preamble-length.yaml +6 -0
- package/rules/preferred-term.yaml +1 -1
- package/rules/proper-noun-density.yaml +8 -1
- package/rules/quote-style-consistency.yaml +66 -0
- package/rules/ra-nuki.yaml +4 -1
- package/rules/redundant-expression.yaml +4 -1
- package/rules/reference-title-mismatch.yaml +4 -3
- package/rules/reference-topic-missing.yaml +2 -1
- package/rules/relative-date-mismatch.yaml +2 -1
- package/rules/repeated-conjunction.yaml +4 -1
- package/rules/repeated-sentence-ending.yaml +62 -0
- package/rules/repeated-sentence-head.yaml +4 -0
- package/rules/request-without-deadline.yaml +92 -0
- package/rules/required-sections.yaml +1 -1
- package/rules/requirement-modal.yaml +1 -1
- package/rules/requirement-smell.yaml +12 -4
- package/rules/rule-of-three.yaml +8 -1
- package/rules/sasete-itadaku.yaml +7 -1
- package/rules/section-length-uniformity.yaml +7 -1
- package/rules/sentence-initial-conjunction-run.yaml +5 -1
- package/rules/sentence-initial-so.yaml +6 -1
- package/rules/sentence-rhythm.yaml +8 -1
- package/rules/sentence-spacing-consistency.yaml +63 -0
- package/rules/shell-prompt-mix.yaml +128 -0
- package/rules/space-before-punctuation.yaml +1 -1
- package/rules/spelling-consistency.yaml +3 -1
- package/rules/step-statement-mix.yaml +76 -0
- package/rules/stock-transition.yaml +8 -1
- package/rules/stray-space.yaml +2 -2
- package/rules/summary-fact-mismatch.yaml +4 -1
- package/rules/table-header-variant.yaml +2 -1
- package/rules/taigen-dome-in-prose.yaml +6 -0
- package/rules/tari-unpaired.yaml +58 -0
- package/rules/teki-overuse.yaml +2 -1
- package/rules/title-case-consistency.yaml +1 -1
- package/rules/title-length.yaml +7 -1
- package/rules/topic-predicate-distance.yaml +6 -1
- package/rules/total-mismatch.yaml +3 -1
- package/rules/translationese-density.yaml +4 -1
- package/rules/unbalanced-bracket.yaml +3 -3
- package/rules/undefined-acronym.yaml +8 -1
- package/rules/unfilled-placeholder.yaml +1 -1
- package/rules/unit-mismatch.yaml +2 -1
- package/rules/unknown-word.yaml +4 -1
- package/rules/unqualified-superlative.yaml +6 -1
- package/rules/unused-definition.yaml +4 -3
- package/rules/url-run-on.yaml +1 -1
- package/rules/use-before-definition.yaml +4 -3
- package/rules/vague-figure-reference.yaml +3 -1
- package/rules/vague-link-text.yaml +2 -1
- package/rules/vague-word-density.yaml +2 -1
- package/rules/very-adjective.yaml +5 -1
- package/rules/weasel-word.yaml +6 -1
- package/rules/wordy-phrase.yaml +6 -1
- package/rules/yori-as-from.yaml +61 -0
- package/src/api.ts +13 -1
- package/src/cli-text.ts +18 -7
- package/src/cli.ts +3 -0
- package/src/command-help.ts +26 -0
- package/src/commands/eval.ts +2 -2
- package/src/commands/fix-plan.ts +13 -1
- package/src/commands/help.ts +8 -0
- package/src/config/load.ts +3 -0
- package/src/config/option-problems.ts +2 -2
- package/src/config/rule-problems.ts +2 -2
- package/src/custom/checked.ts +8 -0
- package/src/custom/dsl-fields.ts +102 -0
- package/src/custom/load.ts +2 -0
- package/src/custom/parse.ts +72 -50
- package/src/custom/problems.ts +18 -2
- package/src/detectors/blank-structure.ts +12 -4
- package/src/detectors/clause-shape.ts +199 -0
- package/src/detectors/code-fences.ts +113 -0
- package/src/detectors/cross-definitions.ts +49 -0
- package/src/detectors/cross-facts.ts +60 -0
- package/src/detectors/cross-registry/cross-doc-duplicate-definition.ts +4 -0
- package/src/detectors/cross-registry/cross-doc-fact-conflict.ts +4 -0
- package/src/detectors/custom.ts +10 -2
- package/src/detectors/defined-term-form.ts +200 -0
- package/src/detectors/email-letter.ts +262 -0
- package/src/detectors/impossible-date.ts +141 -0
- package/src/detectors/impossible-time.ts +151 -0
- package/src/detectors/link-shape.ts +70 -0
- package/src/detectors/mark-shape.ts +202 -0
- package/src/detectors/registry/adverb-polarity.ts +4 -0
- package/src/detectors/registry/attachment-missing.ts +4 -0
- package/src/detectors/registry/bare-url-mix.ts +4 -0
- package/src/detectors/registry/caps-shouting.ts +4 -0
- package/src/detectors/registry/code-fence-language.ts +4 -0
- package/src/detectors/registry/defined-name-repeated.ts +4 -0
- package/src/detectors/registry/defined-term-form.ts +4 -0
- package/src/detectors/registry/email-frame.ts +4 -0
- package/src/detectors/registry/email-subject.ts +4 -0
- package/src/detectors/registry/ending-run.ts +4 -0
- package/src/detectors/registry/heading-command.ts +4 -0
- package/src/detectors/registry/hyphen-dash.ts +4 -0
- package/src/detectors/registry/image-file-name-alt.ts +4 -0
- package/src/detectors/registry/impossible-date.ts +4 -0
- package/src/detectors/registry/impossible-time.ts +4 -0
- package/src/detectors/registry/latin-abbreviation.ts +4 -0
- package/src/detectors/registry/link-text-url-mismatch.ts +4 -0
- package/src/detectors/registry/mark-consistency.ts +4 -0
- package/src/detectors/registry/origin-particle.ts +4 -0
- package/src/detectors/registry/request-without-deadline.ts +4 -0
- package/src/detectors/registry/sentence-spacing.ts +4 -0
- package/src/detectors/registry/shell-prompt.ts +4 -0
- package/src/detectors/registry/step-statement.ts +4 -0
- package/src/detectors/registry/unpaired-parallel.ts +4 -0
- package/src/detectors/request-owner.ts +141 -0
- package/src/detectors/technical-docs.ts +230 -0
- package/src/extension/pack-read.ts +128 -0
- package/src/extension/plugin-load.ts +49 -9
- package/src/extension/plugin-parse.ts +10 -3
- package/src/facts/address-values.ts +74 -0
- package/src/facts/cross-facts.ts +54 -0
- package/src/fix-plan/chosen-depth.ts +28 -0
- package/src/fix-plan/mode.ts +57 -11
- package/src/fix-plan/plan.ts +37 -5
- package/src/fix-plan/render.ts +24 -0
- package/src/fix-plan/text.ts +47 -10
- package/src/genre-load.ts +7 -4
- package/src/genre-parse.ts +19 -0
- package/src/init.ts +10 -10
- package/src/known-genres.ts +19 -0
- package/src/link-shape.ts +62 -0
- package/src/reasons.ts +16 -4
- package/src/render/explain.ts +14 -2
- package/src/render/friendly.ts +1 -1
- package/src/render/rules-json.ts +14 -3
- package/src/render/rules-table.ts +6 -6
- package/src/render/semantic.ts +2 -2
- package/src/render/suppressions.ts +2 -2
- package/src/rewrite-depth.ts +60 -0
- package/src/rule-fields.ts +95 -0
- package/src/rule-guide.ts +9 -0
- package/src/rule-load.ts +10 -4
- package/src/rule-offs.ts +50 -0
- package/src/structure/build.ts +21 -1
- package/src/structure/cross-definitions.ts +60 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: cushion-phrase-density
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: cushion-density
|
|
5
5
|
word_list: cushion-phrase
|
|
6
6
|
uses: [pos]
|
|
@@ -25,6 +25,12 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 2, normal: 5, relaxed: 10 }
|
|
26
26
|
|
|
27
27
|
use_for: [business, legal, docs, academic, literature, speech]
|
|
28
|
+
off_for:
|
|
29
|
+
legal: "Legal drafting repeats its terms and its sentence heads on purpose, puts the actor in the passive (shall be deemed), and joins long noun compounds (個人情報取扱事業者). This rule would only flag the form."
|
|
30
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
31
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
32
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
33
|
+
speech/transcript: "A transcript records what was said: its sentences, repeats and register are the speaker's, not the writer's to fix."
|
|
28
34
|
|
|
29
35
|
group: wording
|
|
30
36
|
summary:
|
|
@@ -51,6 +57,7 @@ level_meaning:
|
|
|
51
57
|
ja: 1000 字あたりクッション言葉 {limit} 個まで
|
|
52
58
|
en: up to {limit} softeners per 1000 words
|
|
53
59
|
rewrite:
|
|
60
|
+
depth: light
|
|
54
61
|
ja:
|
|
55
62
|
direction: クッション言葉は最初の一つだけ残し、あとは用件(何を、いつまでに)から書いてください。敬語の丁寧さは変えません。
|
|
56
63
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: dangling-figure-reference
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: dangling-figure
|
|
5
5
|
severity: warning
|
|
6
6
|
|
|
@@ -23,6 +23,8 @@ how_to_fix:
|
|
|
23
23
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
24
24
|
|
|
25
25
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
26
|
+
off_for:
|
|
27
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
26
28
|
|
|
27
29
|
group: facts
|
|
28
30
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: dangling-reference
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: dangling-reference
|
|
5
5
|
requires: [structure]
|
|
6
6
|
severity: error
|
|
@@ -25,6 +25,8 @@ how_to_fix:
|
|
|
25
25
|
levels: { normal: error, relaxed: warning }
|
|
26
26
|
|
|
27
27
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
28
|
+
off_for:
|
|
29
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
28
30
|
sources: [jis-z8301-2019, femmer-2017]
|
|
29
31
|
|
|
30
32
|
group: structure
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
id: date-format-consistency
|
|
2
2
|
layer: L1
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: date-format
|
|
5
|
-
severity:
|
|
5
|
+
severity: info
|
|
6
6
|
|
|
7
7
|
name:
|
|
8
8
|
ja: 日付の書き方が揃っていない
|
|
@@ -59,6 +59,7 @@ level_meaning:
|
|
|
59
59
|
ja: 少ないほうの書き方の日付が全体の {limit}% 以下なら指摘
|
|
60
60
|
en: reported while the minority style is {limit}% of the dates or less
|
|
61
61
|
rewrite:
|
|
62
|
+
depth: light
|
|
62
63
|
ja:
|
|
63
64
|
direction: 指された日付を、文書の多いほうの書き方(指摘が例に引く日付の書き方)に書き直してください。日付そのもの(年・月・日)は変えません。
|
|
64
65
|
pairs:
|
package/rules/date-order.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: date-order
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: date-order
|
|
5
5
|
requires: [dates]
|
|
6
6
|
severity: warning
|
|
@@ -24,6 +24,8 @@ how_to_fix:
|
|
|
24
24
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
25
25
|
|
|
26
26
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
27
29
|
sources: [de-marneffe-2008]
|
|
28
30
|
|
|
29
31
|
group: facts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: date-range-reversed
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: date-range-reversed
|
|
5
5
|
requires: [dates]
|
|
6
6
|
severity: warning
|
|
@@ -24,6 +24,8 @@ how_to_fix:
|
|
|
24
24
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
25
25
|
|
|
26
26
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
27
29
|
|
|
28
30
|
group: facts
|
|
29
31
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: date-weekday-mismatch
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: date-weekday-mismatch
|
|
5
5
|
requires: [dates]
|
|
6
6
|
severity: error
|
|
@@ -24,6 +24,8 @@ how_to_fix:
|
|
|
24
24
|
levels: { normal: error, relaxed: warning }
|
|
25
25
|
|
|
26
26
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
27
29
|
|
|
28
30
|
group: facts
|
|
29
31
|
summary:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
id: date-without-year
|
|
2
2
|
layer: L1
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: date-without-year
|
|
5
5
|
requires: [dates]
|
|
6
6
|
# The dates come from the language package's date reader. English does not read a date written without its year yet,
|
|
7
7
|
# so the rule checks Japanese only until it does.
|
|
8
8
|
languages: [ja]
|
|
9
|
-
severity:
|
|
9
|
+
severity: info
|
|
10
10
|
|
|
11
11
|
name:
|
|
12
12
|
ja: 年の無い日付
|
|
@@ -28,7 +28,7 @@ how_to_fix:
|
|
|
28
28
|
ja: 年を書いてください(2027年1月15日)。
|
|
29
29
|
en: Write the year (January 15, 2027).
|
|
30
30
|
|
|
31
|
-
levels: { strict:
|
|
31
|
+
levels: { strict: warning, normal: info, relaxed: info }
|
|
32
32
|
|
|
33
33
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
34
34
|
|
|
@@ -55,6 +55,7 @@ not_flagged:
|
|
|
55
55
|
ja: 年を一度だけ書いて、あとの日付は月と日だけで書く文書(年の無い日付のほうが多い文書)は、書き方の選び方として指しません。ただしその場合も、年をまたぐ日付は指します。月だけ・年だけの日付は見ません。
|
|
56
56
|
en: A document that writes the year once and the rest as month and day (more yearless dates than dated ones) is a style, and not reported, except for a date across the turn of a year. Month-only and year-only dates are not checked.
|
|
57
57
|
rewrite:
|
|
58
|
+
depth: light
|
|
58
59
|
ja:
|
|
59
60
|
direction: 指摘された日付に年を書き足してください。年は本文のほかの日付と、曜日から確かめます。決められなければ、作らずに[年]と空けて書き手に聞きます。
|
|
60
61
|
pairs:
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
id: defined-name-repeated
|
|
2
|
+
layer: L3
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: defined-name-repeated
|
|
5
|
+
requires: [structure, pos]
|
|
6
|
+
severity: info
|
|
7
|
+
|
|
8
|
+
name:
|
|
9
|
+
ja: 短い呼び名を定めた名前を、あとで正式の名前のまま書いている
|
|
10
|
+
en: A long name used again after its short name was defined
|
|
11
|
+
|
|
12
|
+
why:
|
|
13
|
+
ja: 「株式会社みなと製作所(以下「甲」という。)」と定めたら、そのあとは「甲」と書くのが決まりです。途中で「株式会社みなと製作所」と書き戻すと、読み手は甲と同じ会社なのか、別の立場の同じ会社なのかを確かめることになります。文の途中で括弧に入れて短い呼び名を定めた所の、括弧のすぐ前の名前(名詞と固有名詞の並び)を正式の名前とし、定義より後でその名前が出てくる所を指します。署名欄のように、呼び名と並べて書いた行や名前だけの行は見ません。
|
|
14
|
+
en: 'Once a contract says "Harbour Works Ltd (the "Supplier")", it refers to the Supplier as "the Supplier". Writing "Harbour Works Ltd" again later makes the reader check whether it is the same party in the same role. chaff takes the name right before an inline definition''s bracket (a run of nouns and names) as the long name, and points at each later use of it. Lines that give the short name too, or little more than the name (a signature block), are not read.'
|
|
15
|
+
|
|
16
|
+
message:
|
|
17
|
+
ja: 「{name}」は {line} 行目で「{term}」と呼ぶと定めた名前です
|
|
18
|
+
en: '"{name}" was given the short name "{term}" on line {line}'
|
|
19
|
+
|
|
20
|
+
how_to_fix:
|
|
21
|
+
ja: 定めた呼び名で書いてください。正式の名前が要る所(署名欄、別の会社と並べる所)なら、そのままにします。
|
|
22
|
+
en: Use the short name the contract defined. Where the full name is needed (a signature block, a list beside other companies), leave it.
|
|
23
|
+
|
|
24
|
+
levels: { strict: warning, normal: info, relaxed: info }
|
|
25
|
+
|
|
26
|
+
use_for: [legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
docs: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
29
|
+
academic: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
30
|
+
literature: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
31
|
+
speech: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
32
|
+
|
|
33
|
+
group: consistency
|
|
34
|
+
summary:
|
|
35
|
+
ja: 「株式会社みなと製作所(以下「甲」という。)」のあとで、甲を正式の名前のまま書いている所
|
|
36
|
+
en: A party or a thing given a short name ("the Supplier") and later written out in full again
|
|
37
|
+
example:
|
|
38
|
+
ja:
|
|
39
|
+
config: { genre: legal/contract }
|
|
40
|
+
before: |
|
|
41
|
+
# 業務委託契約書
|
|
42
|
+
|
|
43
|
+
株式会社みなと製作所(以下「甲」という。)と北浜商事株式会社(以下「乙」という。)は、次のとおり契約を結ぶ。
|
|
44
|
+
|
|
45
|
+
第1条 乙は、株式会社みなと製作所の会議室の予約を代わりに行う。
|
|
46
|
+
after: |
|
|
47
|
+
# 業務委託契約書
|
|
48
|
+
|
|
49
|
+
株式会社みなと製作所(以下「甲」という。)と北浜商事株式会社(以下「乙」という。)は、次のとおり契約を結ぶ。
|
|
50
|
+
|
|
51
|
+
第1条 乙は、甲の会議室の予約を代わりに行う。
|
|
52
|
+
en:
|
|
53
|
+
config: { genre: legal/contract }
|
|
54
|
+
before: |
|
|
55
|
+
# Services Agreement
|
|
56
|
+
|
|
57
|
+
This agreement is between Harbour Works Ltd (the "Supplier") and North Trading Inc (the "Customer").
|
|
58
|
+
|
|
59
|
+
1. The Customer pays Harbour Works Ltd within thirty days of each invoice.
|
|
60
|
+
after: |
|
|
61
|
+
# Services Agreement
|
|
62
|
+
|
|
63
|
+
This agreement is between Harbour Works Ltd (the "Supplier") and North Trading Inc (the "Customer").
|
|
64
|
+
|
|
65
|
+
1. The Customer pays the Supplier within thirty days of each invoice.
|
|
66
|
+
|
|
67
|
+
not_flagged:
|
|
68
|
+
ja: 短い呼び名を定める前の使用、呼び名と同じ行にある使用、名前だけの行(署名欄)、四字に満たない名前(「法律」)、一語の英語の名前、呼び名が名前を含むもの(「本サービス」)、前の語が絞り込む名前(「妊娠中の女性従業員」「本利用規約」)、それ自体が定義した語である名前、長い語の一部(「株式会社みなと製作所大阪支店」)は見ません。法務のジャンルで見ます。
|
|
69
|
+
en: 'Uses before the short name is defined, uses on a line that also gives the short name, lines holding little more than the name (a signature block), names shorter than four characters, one-word English names, short names that contain the long one, names narrowed by the word before them ("the Beta Preview"), names that are defined terms themselves, and a name inside a longer word are not reported. The legal genres run this rule.'
|
|
70
|
+
rewrite:
|
|
71
|
+
depth: light
|
|
72
|
+
ja:
|
|
73
|
+
direction: 正式の名前を、定めた呼び名に置き換えてください。署名欄や、ほかの会社と並べて正式の名前が要る所はそのままにします。どちらの立場の名前か分からなければ、書き手に確かめます。
|
|
74
|
+
pairs:
|
|
75
|
+
- before: 乙は、株式会社みなと製作所の会議室の予約を代わりに行う。
|
|
76
|
+
after: 乙は、甲の会議室の予約を代わりに行う。
|
|
77
|
+
- before: 個人情報の保護に関する法律に従って扱う。
|
|
78
|
+
after: 個人情報保護法に従って扱う。
|
|
79
|
+
keep:
|
|
80
|
+
- 条の番号と中身
|
|
81
|
+
- 署名欄の正式の名前
|
|
82
|
+
avoid:
|
|
83
|
+
- 甲と乙を取り違える
|
|
84
|
+
- 署名欄の名前を呼び名に変える
|
|
85
|
+
en:
|
|
86
|
+
direction: Replace the full name with the short name the contract defined. Leave it where the full name is needed, such as a signature block or a list beside other companies. If it is not clear which party is meant, ask the writer.
|
|
87
|
+
pairs:
|
|
88
|
+
- before: The Customer pays Harbour Works Ltd within thirty days.
|
|
89
|
+
after: The Customer pays the Supplier within thirty days.
|
|
90
|
+
- before: North Trading Inc may end this agreement on notice.
|
|
91
|
+
after: The Customer may end this agreement on notice.
|
|
92
|
+
keep:
|
|
93
|
+
- the clause numbers and their content
|
|
94
|
+
- the full names in the signature block
|
|
95
|
+
avoid:
|
|
96
|
+
- swapping the parties
|
|
97
|
+
- turning a signature block's name into the short name
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
id: defined-term-form
|
|
2
|
+
layer: L3
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: defined-term-form
|
|
5
|
+
requires: [structure, pos]
|
|
6
|
+
severity: info
|
|
7
|
+
|
|
8
|
+
name:
|
|
9
|
+
ja: 定義した語を、定義と違う形で使っている
|
|
10
|
+
en: A defined term used in another form
|
|
11
|
+
|
|
12
|
+
why:
|
|
13
|
+
ja: 契約では、定義した語は定義した形のまま使うのが決まりです。「本サービス」と定義したあとで「「本サービス」」とかぎ括弧を付け直すと、新しく定義し直したのか、同じものなのかが読み手に分かりません。英語では "Services" と定義した語を "services" と小文字で書くと、定義した意味なのか、ふつうの意味なのかが分かれ、争いのもとになります。定義の後ろで、かぎ括弧や引用符に入れ直した語と、大文字で定義した語を小文字で書いた所(大文字の使用より少ないとき)を指します。
|
|
14
|
+
en: 'A contract uses each defined term exactly as defined. Quoting a term again after its definition ("the "Services"") leaves the reader asking whether it is being defined anew. Writing "services" where "Services" is defined splits the defined sense from the ordinary one, which is where disputes start. chaff points at a term set in quotes again after its definition, and at a capitalised term written in lower case (when the capitalised uses are more).'
|
|
15
|
+
|
|
16
|
+
message:
|
|
17
|
+
ja: 定義した「{term}」と違う形で使っています
|
|
18
|
+
en: '"{term}" is used in another form than defined'
|
|
19
|
+
|
|
20
|
+
messages:
|
|
21
|
+
quoted:
|
|
22
|
+
ja: 「{term}」は {line} 行目で定義した語です。定義のあとは、かぎ括弧を付けずに使います
|
|
23
|
+
en: '"{term}" is defined on line {line}; after that it is used without quotes'
|
|
24
|
+
case:
|
|
25
|
+
ja: 「{term}」は {line} 行目で大文字で定義した語ですが、ここは小文字です
|
|
26
|
+
en: '"{term}" is defined with a capital on line {line}, but written in lower case here'
|
|
27
|
+
|
|
28
|
+
how_to_fix:
|
|
29
|
+
ja: 定義した語はかぎ括弧を付けずに使い、英語では定義のとおり大文字で始めてください。ふつうの意味で使うなら、別の言葉に替えます。
|
|
30
|
+
en: Use the defined term without quotes and, in English, with its capital as defined. If the ordinary sense is meant, use another word.
|
|
31
|
+
|
|
32
|
+
levels: { strict: 3, normal: 2, relaxed: 1 }
|
|
33
|
+
|
|
34
|
+
use_for: [legal, docs, academic, literature, speech]
|
|
35
|
+
off_for:
|
|
36
|
+
docs: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
37
|
+
academic: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
38
|
+
literature: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
39
|
+
speech: "Defined terms and short names are a contract's apparatus: the legal genres check them."
|
|
40
|
+
legal/statute: "A regulation's guidelines and circulars quote a defined term to point at its definition (「個人情報」の定義)."
|
|
41
|
+
|
|
42
|
+
group: consistency
|
|
43
|
+
summary:
|
|
44
|
+
ja: 契約や規約で、定義した語を定義のあとでかぎ括弧に入れ直したり、大文字で定義した語を小文字で書いたりしている所
|
|
45
|
+
en: A defined term quoted again after its definition, or a capitalised defined term written in lower case
|
|
46
|
+
example:
|
|
47
|
+
ja:
|
|
48
|
+
config: { genre: legal/contract }
|
|
49
|
+
before: |
|
|
50
|
+
# 利用規約
|
|
51
|
+
|
|
52
|
+
第1条 当社は、会議室の予約サービス(以下「本サービス」という。)を提供する。
|
|
53
|
+
|
|
54
|
+
第2条 利用者は、「本サービス」を業務の目的でだけ使う。
|
|
55
|
+
after: |
|
|
56
|
+
# 利用規約
|
|
57
|
+
|
|
58
|
+
第1条 当社は、会議室の予約サービス(以下「本サービス」という。)を提供する。
|
|
59
|
+
|
|
60
|
+
第2条 利用者は、本サービスを業務の目的でだけ使う。
|
|
61
|
+
en:
|
|
62
|
+
config: { genre: legal/contract }
|
|
63
|
+
before: |
|
|
64
|
+
# Terms
|
|
65
|
+
|
|
66
|
+
1. We provide a room booking service (the "Services").
|
|
67
|
+
|
|
68
|
+
2. You may use the Services for business only. The Services are provided as is.
|
|
69
|
+
|
|
70
|
+
3. You must not resell the services.
|
|
71
|
+
after: |
|
|
72
|
+
# Terms
|
|
73
|
+
|
|
74
|
+
1. We provide a room booking service (the "Services").
|
|
75
|
+
|
|
76
|
+
2. You may use the Services for business only. The Services are provided as is.
|
|
77
|
+
|
|
78
|
+
3. You must not resell the Services.
|
|
79
|
+
|
|
80
|
+
not_flagged:
|
|
81
|
+
ja: 定義そのもの(以下「本サービス」という、「本サービス」とは)、定義より前の使用(use-before-definition が見ます)、文の頭の大文字、小文字の使用が {limit} 個を超えるか大文字の使用より多い語(ふつうの意味で使っているとみなす)は指しません。定義の文の中の使用(「顧客」とは、表紙に「顧客」と書いた者をいう)も見ません。法令・規程のジャンルは、定義を指すために語をかぎ括弧に入れるので見ません。
|
|
82
|
+
en: 'The definitions themselves ("Services" means, (the "Services")), uses before the definition (use-before-definition reads those), capitals at the start of a sentence, and terms written in lower case more than {limit} times or more often than capitalised (taken as the ordinary word used on purpose) are not reported, nor is a use inside the defining sentence ("Customer" means the party named "Customer"). Statutes and regulations quote a term to point at its definition, so that genre does not run this rule.'
|
|
83
|
+
level_meaning:
|
|
84
|
+
ja: 小文字の使用が {limit} 個以下で、大文字の使用より少ないとき指摘
|
|
85
|
+
en: lower-case uses reported when they are {limit} or fewer and fewer than the capitalised ones
|
|
86
|
+
rewrite:
|
|
87
|
+
depth: light
|
|
88
|
+
ja:
|
|
89
|
+
direction: 定義した語を定義の形に戻してください。かぎ括弧を外し、英語の語は定義のとおり大文字で始めます。ふつうの意味で使っているのが明らかなら、定義した語と紛れない別の言葉に替えます。どちらの意味か決められなければ、書き手に確かめます。
|
|
90
|
+
pairs:
|
|
91
|
+
- before: 利用者は、「本サービス」を業務の目的でだけ使う。
|
|
92
|
+
after: 利用者は、本サービスを業務の目的でだけ使う。
|
|
93
|
+
- before: 乙は、「対象情報」を第三者に開示しない。
|
|
94
|
+
after: 乙は、対象情報を第三者に開示しない。
|
|
95
|
+
keep:
|
|
96
|
+
- 条の番号と中身
|
|
97
|
+
- 定義した語そのもの
|
|
98
|
+
avoid:
|
|
99
|
+
- 定義を書き換える
|
|
100
|
+
- 意味が分からない所を推測で大文字にする
|
|
101
|
+
en:
|
|
102
|
+
direction: Bring the term back to its defined form. Remove the quotes, and capitalise it as defined. If the ordinary sense is clearly meant, use a word that cannot be mistaken for the defined term. If it is not clear which sense is meant, ask the writer.
|
|
103
|
+
pairs:
|
|
104
|
+
- before: You must not resell the services.
|
|
105
|
+
after: You must not resell the Services.
|
|
106
|
+
- before: The "Customer" must pay within 30 days.
|
|
107
|
+
after: The Customer must pay within 30 days.
|
|
108
|
+
keep:
|
|
109
|
+
- the clause numbers and their content
|
|
110
|
+
- the defined term itself
|
|
111
|
+
avoid:
|
|
112
|
+
- changing the definition
|
|
113
|
+
- capitalising a word whose sense is unclear without asking
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: demonstrative-opener-run
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: opener-run
|
|
5
5
|
word_list: demonstrative-opener
|
|
6
6
|
requires: [pos]
|
|
@@ -45,6 +45,7 @@ level_meaning:
|
|
|
45
45
|
ja: 指示語で始まる文 {limit} 文の連続まで
|
|
46
46
|
en: up to {limit} such sentences in a row
|
|
47
47
|
rewrite:
|
|
48
|
+
depth: light
|
|
48
49
|
ja:
|
|
49
50
|
direction: 続いた指示語のうち、指すものが遠いものから、指している名詞に置き換えてください。一つ前の文を指す指示語は残してかまいません。
|
|
50
51
|
pairs:
|
package/rules/double-keigo.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: double-keigo
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: phrase-match
|
|
5
5
|
word_list: double-keigo
|
|
6
6
|
uses: [pos]
|
|
@@ -26,6 +26,11 @@ how_to_fix:
|
|
|
26
26
|
levels: { strict: 1, normal: 1, relaxed: 2 }
|
|
27
27
|
|
|
28
28
|
use_for: [business, legal, docs, academic, literature, speech]
|
|
29
|
+
off_for:
|
|
30
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
31
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
32
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
33
|
+
speech/transcript: "A transcript records what was said: its sentences, repeats and register are the speaker's, not the writer's to fix."
|
|
29
34
|
|
|
30
35
|
group: wording
|
|
31
36
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: double-negative
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: phrase-match
|
|
5
5
|
word_list: double-negative
|
|
6
6
|
uses: [pos]
|
|
@@ -26,6 +26,10 @@ how_to_fix:
|
|
|
26
26
|
levels: { strict: 1, normal: 1, relaxed: 2 }
|
|
27
27
|
|
|
28
28
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
29
|
+
off_for:
|
|
30
|
+
legal: 'Statutes and opinions write "not inconsistent with" on purpose.'
|
|
31
|
+
literature: "A narrator may hedge, speak with ら dropped, and spell as the work's time and place did."
|
|
32
|
+
speech: "A transcript keeps the speaker's words: hedges and ら dropped as spoken."
|
|
29
33
|
|
|
30
34
|
group: readability
|
|
31
35
|
summary:
|
package/rules/doubled-nado.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: doubled-nado
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: phrase-match
|
|
5
5
|
word_list: doubled-nado
|
|
6
6
|
requires: [pos]
|
|
@@ -44,6 +44,7 @@ level_meaning:
|
|
|
44
44
|
ja: 重ねた所が {limit} 箇所あれば指摘
|
|
45
45
|
en: reported once there are {limit}
|
|
46
46
|
rewrite:
|
|
47
|
+
depth: light
|
|
47
48
|
ja:
|
|
48
49
|
direction: 「など」か「等」のどちらか一つを消してください。文書の中でほかに多く使っている方を残します。
|
|
49
50
|
pairs:
|
package/rules/doubled-word.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: doubled-word
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: doubled-word
|
|
5
5
|
word_list: doubled-word
|
|
6
6
|
requires: [pos]
|
|
@@ -25,6 +25,9 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
28
|
+
off_for:
|
|
29
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
30
|
+
speech/transcript: "A transcript records what was said: its sentences, repeats and register are the speaker's, not the writer's to fix."
|
|
28
31
|
|
|
29
32
|
group: slips
|
|
30
33
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: duplicate-definition
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: duplicate-definition
|
|
5
5
|
requires: [structure]
|
|
6
6
|
severity: warning
|
|
@@ -30,6 +30,8 @@ placeholders:
|
|
|
30
30
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
31
31
|
|
|
32
32
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
33
|
+
off_for:
|
|
34
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
33
35
|
|
|
34
36
|
group: structure
|
|
35
37
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: duration-mismatch
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: duration-mismatch
|
|
5
5
|
requires: [dates]
|
|
6
6
|
severity: warning
|
|
@@ -45,6 +45,7 @@ not_flagged:
|
|
|
45
45
|
ja: 三通りの数え方(終わりを含める、含めない、初日を数えずに過ぎた日)のどれとも合わないときだけ指します。「約3か月」「3か月程度」のような目安の期間、日付が三つ以上か期間が二つ以上ある文、年を書いた日付と書かない日付の組は見ません。
|
|
46
46
|
en: Only an end that matches none of the three ways of counting is pointed out. A rough length ("about 3 months"), a sentence with three or more dates or two or more lengths, and a pair of one date with a year and one without are left alone.
|
|
47
47
|
rewrite:
|
|
48
|
+
depth: light
|
|
48
49
|
ja:
|
|
49
50
|
direction: 始まり・期間・終わりのうち、どれが正しいかを書き手に確かめ、残りを合わせてください。期間か終わりのどちらかを消して、一つだけにしてもかまいません。
|
|
50
51
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: elapsed-years-mismatch
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: elapsed-years-mismatch
|
|
5
5
|
requires: [dates]
|
|
6
6
|
severity: warning
|
|
@@ -24,6 +24,8 @@ how_to_fix:
|
|
|
24
24
|
levels: { normal: warning, relaxed: info }
|
|
25
25
|
|
|
26
26
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
literature: "Length, rhythm, repetition and register are the author's choices in literature, and dialogue mixes styles. Only what one work can hold itself to runs: consistent spacing and commas, and numbering without gaps."
|
|
27
29
|
|
|
28
30
|
group: facts
|
|
29
31
|
summary:
|
|
@@ -53,6 +55,7 @@ not_flagged:
|
|
|
53
55
|
ja: 文書に日付(日付だけの段落か「更新日:」の段落)が無ければ、比べる年が無いので見ません。一年までの違い、起点の語に直接付いていない年数(「創業後3年で上場」)、生まれた年と年齢が一つの文に一つずつでないものも見ません。
|
|
54
56
|
en: A document with no date of its own (a paragraph holding only a date, or "Updated:") has no year to count to and is not checked. A difference of one year, a count not attached to the origin word ("listed 3 years after its founding"), and a sentence without exactly one year of birth and one age are left alone.
|
|
55
57
|
rewrite:
|
|
58
|
+
depth: light
|
|
56
59
|
ja:
|
|
57
60
|
direction: 年数と起点の年のどちらが正しいかを書き手に確かめ、もう一方を直してください。毎年変わる年数は「2015年創業」のように起点の年だけにすると、古くなりません。
|
|
58
61
|
pairs:
|