chaffjs 0.20.0 → 0.22.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 +7 -5
- 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 +18 -5
- package/dist/cli-text.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -11
- 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/commands/init-command.d.ts +4 -0
- package/dist/commands/init-command.d.ts.map +1 -0
- package/dist/commands/init-command.js +15 -0
- package/dist/commands/init-command.js.map +1 -0
- package/dist/commands/plugin-init.d.ts +20 -0
- package/dist/commands/plugin-init.d.ts.map +1 -0
- package/dist/commands/plugin-init.js +129 -0
- package/dist/commands/plugin-init.js.map +1 -0
- package/dist/commands/plugin-test.d.ts +11 -0
- package/dist/commands/plugin-test.d.ts.map +1 -0
- package/dist/commands/plugin-test.js +81 -0
- package/dist/commands/plugin-test.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 +10 -1
- package/dist/custom/problems.js.map +1 -1
- package/dist/detectors/amount-for-count.d.ts +21 -0
- package/dist/detectors/amount-for-count.d.ts.map +1 -0
- package/dist/detectors/amount-for-count.js +55 -0
- package/dist/detectors/amount-for-count.js.map +1 -0
- 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/currency-notation.d.ts +29 -0
- package/dist/detectors/currency-notation.d.ts.map +1 -0
- package/dist/detectors/currency-notation.js +58 -0
- package/dist/detectors/currency-notation.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/dangling-opener.d.ts +14 -0
- package/dist/detectors/dangling-opener.d.ts.map +1 -0
- package/dist/detectors/dangling-opener.js +55 -0
- package/dist/detectors/dangling-opener.js.map +1 -0
- 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/footnote-mismatch.d.ts +11 -0
- package/dist/detectors/footnote-mismatch.d.ts.map +1 -0
- package/dist/detectors/footnote-mismatch.js +55 -0
- package/dist/detectors/footnote-mismatch.js.map +1 -0
- package/dist/detectors/form-minority.d.ts +13 -0
- package/dist/detectors/form-minority.d.ts.map +1 -0
- package/dist/detectors/form-minority.js +19 -0
- package/dist/detectors/form-minority.js.map +1 -0
- package/dist/detectors/heading-end-mark.d.ts +10 -0
- package/dist/detectors/heading-end-mark.d.ts.map +1 -0
- package/dist/detectors/heading-end-mark.js +59 -0
- package/dist/detectors/heading-end-mark.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/list-marker.d.ts +7 -0
- package/dist/detectors/list-marker.d.ts.map +1 -0
- package/dist/detectors/list-marker.js +50 -0
- package/dist/detectors/list-marker.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/markdown-slip.d.ts +19 -0
- package/dist/detectors/markdown-slip.d.ts.map +1 -0
- package/dist/detectors/markdown-slip.js +122 -0
- package/dist/detectors/markdown-slip.js.map +1 -0
- package/dist/detectors/numeral-opener.d.ts +10 -0
- package/dist/detectors/numeral-opener.d.ts.map +1 -0
- package/dist/detectors/numeral-opener.js +65 -0
- package/dist/detectors/numeral-opener.js.map +1 -0
- package/dist/detectors/ordinal-suffix.d.ts +12 -0
- package/dist/detectors/ordinal-suffix.d.ts.map +1 -0
- package/dist/detectors/ordinal-suffix.js +33 -0
- package/dist/detectors/ordinal-suffix.js.map +1 -0
- package/dist/detectors/range-notation.d.ts +15 -0
- package/dist/detectors/range-notation.d.ts.map +1 -0
- package/dist/detectors/range-notation.js +58 -0
- package/dist/detectors/range-notation.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/amount-for-count.d.ts +3 -0
- package/dist/detectors/registry/amount-for-count.d.ts.map +1 -0
- package/dist/detectors/registry/amount-for-count.js +3 -0
- package/dist/detectors/registry/amount-for-count.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/currency-notation.d.ts +3 -0
- package/dist/detectors/registry/currency-notation.d.ts.map +1 -0
- package/dist/detectors/registry/currency-notation.js +3 -0
- package/dist/detectors/registry/currency-notation.js.map +1 -0
- package/dist/detectors/registry/dangling-opener.d.ts +3 -0
- package/dist/detectors/registry/dangling-opener.d.ts.map +1 -0
- package/dist/detectors/registry/dangling-opener.js +3 -0
- package/dist/detectors/registry/dangling-opener.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/footnote-mismatch.d.ts +3 -0
- package/dist/detectors/registry/footnote-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/footnote-mismatch.js +3 -0
- package/dist/detectors/registry/footnote-mismatch.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/heading-end-punctuation.d.ts +3 -0
- package/dist/detectors/registry/heading-end-punctuation.d.ts.map +1 -0
- package/dist/detectors/registry/heading-end-punctuation.js +3 -0
- package/dist/detectors/registry/heading-end-punctuation.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/list-marker.d.ts +3 -0
- package/dist/detectors/registry/list-marker.d.ts.map +1 -0
- package/dist/detectors/registry/list-marker.js +3 -0
- package/dist/detectors/registry/list-marker.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/numeral-opener.d.ts +3 -0
- package/dist/detectors/registry/numeral-opener.d.ts.map +1 -0
- package/dist/detectors/registry/numeral-opener.js +3 -0
- package/dist/detectors/registry/numeral-opener.js.map +1 -0
- package/dist/detectors/registry/ordinal-suffix.d.ts +3 -0
- package/dist/detectors/registry/ordinal-suffix.d.ts.map +1 -0
- package/dist/detectors/registry/ordinal-suffix.js +3 -0
- package/dist/detectors/registry/ordinal-suffix.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/range-notation.d.ts +3 -0
- package/dist/detectors/registry/range-notation.d.ts.map +1 -0
- package/dist/detectors/registry/range-notation.js +3 -0
- package/dist/detectors/registry/range-notation.js.map +1 -0
- package/dist/detectors/registry/relative-pronoun-mix.d.ts +3 -0
- package/dist/detectors/registry/relative-pronoun-mix.d.ts.map +1 -0
- package/dist/detectors/registry/relative-pronoun-mix.js +3 -0
- package/dist/detectors/registry/relative-pronoun-mix.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/share-over-hundred.d.ts +3 -0
- package/dist/detectors/registry/share-over-hundred.d.ts.map +1 -0
- package/dist/detectors/registry/share-over-hundred.js +3 -0
- package/dist/detectors/registry/share-over-hundred.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-reference.d.ts +3 -0
- package/dist/detectors/registry/step-reference.d.ts.map +1 -0
- package/dist/detectors/registry/step-reference.js +3 -0
- package/dist/detectors/registry/step-reference.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/table-row-overflow.d.ts +3 -0
- package/dist/detectors/registry/table-row-overflow.d.ts.map +1 -0
- package/dist/detectors/registry/table-row-overflow.js +3 -0
- package/dist/detectors/registry/table-row-overflow.js.map +1 -0
- package/dist/detectors/registry/toc-heading.d.ts +3 -0
- package/dist/detectors/registry/toc-heading.d.ts.map +1 -0
- package/dist/detectors/registry/toc-heading.js +3 -0
- package/dist/detectors/registry/toc-heading.js.map +1 -0
- package/dist/detectors/registry/unclosed-code-fence.d.ts +3 -0
- package/dist/detectors/registry/unclosed-code-fence.d.ts.map +1 -0
- package/dist/detectors/registry/unclosed-code-fence.js +3 -0
- package/dist/detectors/registry/unclosed-code-fence.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/registry/unrendered-emphasis.d.ts +3 -0
- package/dist/detectors/registry/unrendered-emphasis.d.ts.map +1 -0
- package/dist/detectors/registry/unrendered-emphasis.js +3 -0
- package/dist/detectors/registry/unrendered-emphasis.js.map +1 -0
- package/dist/detectors/relative-pronoun-mix.d.ts +19 -0
- package/dist/detectors/relative-pronoun-mix.d.ts.map +1 -0
- package/dist/detectors/relative-pronoun-mix.js +60 -0
- package/dist/detectors/relative-pronoun-mix.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/share-over-hundred.d.ts +20 -0
- package/dist/detectors/share-over-hundred.d.ts.map +1 -0
- package/dist/detectors/share-over-hundred.js +55 -0
- package/dist/detectors/share-over-hundred.js.map +1 -0
- package/dist/detectors/step-reference.d.ts +20 -0
- package/dist/detectors/step-reference.d.ts.map +1 -0
- package/dist/detectors/step-reference.js +57 -0
- package/dist/detectors/step-reference.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/detectors/toc-heading.d.ts +10 -0
- package/dist/detectors/toc-heading.d.ts.map +1 -0
- package/dist/detectors/toc-heading.js +99 -0
- package/dist/detectors/toc-heading.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/list-marks.d.ts +21 -0
- package/dist/list-marks.d.ts.map +1 -0
- package/dist/list-marks.js +82 -0
- package/dist/list-marks.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 +28 -0
- package/dist/rule-fields.d.ts.map +1 -0
- package/dist/rule-fields.js +85 -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/cliche.yaml +67 -0
- 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/currency-notation-consistency.yaml +77 -0
- package/rules/cushion-phrase-density.yaml +8 -1
- package/rules/dangling-figure-reference.yaml +3 -1
- package/rules/dangling-participle.yaml +58 -0
- 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/footnote-mismatch.yaml +91 -0
- 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-end-punctuation-mix.yaml +158 -0
- 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/less-for-fewer.yaml +59 -0
- package/rules/link-text-url-mismatch.yaml +72 -0
- package/rules/list-item-form-mix.yaml +7 -1
- package/rules/list-marker-mix.yaml +111 -0
- 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/nonstandard-word.yaml +80 -0
- 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/numeral-sentence-start.yaml +56 -0
- package/rules/one-sentence-paragraph-run.yaml +5 -1
- package/rules/ordinal-suffix-mismatch.yaml +65 -0
- 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/range-notation-consistency.yaml +73 -0
- 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/share-over-hundred.yaml +65 -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-reference-missing.yaml +85 -0
- 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/table-row-overflow.yaml +90 -0
- 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/toc-heading-mismatch.yaml +136 -0
- 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/unclosed-code-fence.yaml +107 -0
- package/rules/uncomparable-graded.yaml +65 -0
- 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/unrendered-emphasis.yaml +73 -0
- 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/which-that-consistency.yaml +64 -0
- package/rules/wordy-phrase.yaml +6 -1
- package/rules/yori-as-from.yaml +61 -0
- package/skills/chaff/SKILL.md +7 -7
- package/src/api.ts +13 -1
- package/src/cli-text.ts +22 -7
- package/src/cli.ts +8 -9
- 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/commands/init-command.ts +13 -0
- package/src/commands/plugin-init.ts +150 -0
- package/src/commands/plugin-test.ts +111 -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 +16 -2
- package/src/detectors/amount-for-count.ts +90 -0
- 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/currency-notation.ts +90 -0
- package/src/detectors/custom.ts +10 -2
- package/src/detectors/dangling-opener.ts +74 -0
- package/src/detectors/defined-term-form.ts +200 -0
- package/src/detectors/email-letter.ts +262 -0
- package/src/detectors/footnote-mismatch.ts +72 -0
- package/src/detectors/form-minority.ts +21 -0
- package/src/detectors/heading-end-mark.ts +82 -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/list-marker.ts +60 -0
- package/src/detectors/mark-shape.ts +202 -0
- package/src/detectors/markdown-slip.ts +140 -0
- package/src/detectors/numeral-opener.ts +72 -0
- package/src/detectors/ordinal-suffix.ts +40 -0
- package/src/detectors/range-notation.ts +76 -0
- package/src/detectors/registry/adverb-polarity.ts +4 -0
- package/src/detectors/registry/amount-for-count.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/currency-notation.ts +4 -0
- package/src/detectors/registry/dangling-opener.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/footnote-mismatch.ts +4 -0
- package/src/detectors/registry/heading-command.ts +4 -0
- package/src/detectors/registry/heading-end-punctuation.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/list-marker.ts +4 -0
- package/src/detectors/registry/mark-consistency.ts +4 -0
- package/src/detectors/registry/numeral-opener.ts +4 -0
- package/src/detectors/registry/ordinal-suffix.ts +4 -0
- package/src/detectors/registry/origin-particle.ts +4 -0
- package/src/detectors/registry/range-notation.ts +4 -0
- package/src/detectors/registry/relative-pronoun-mix.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/share-over-hundred.ts +4 -0
- package/src/detectors/registry/shell-prompt.ts +4 -0
- package/src/detectors/registry/step-reference.ts +4 -0
- package/src/detectors/registry/step-statement.ts +4 -0
- package/src/detectors/registry/table-row-overflow.ts +4 -0
- package/src/detectors/registry/toc-heading.ts +4 -0
- package/src/detectors/registry/unclosed-code-fence.ts +4 -0
- package/src/detectors/registry/unpaired-parallel.ts +4 -0
- package/src/detectors/registry/unrendered-emphasis.ts +4 -0
- package/src/detectors/relative-pronoun-mix.ts +79 -0
- package/src/detectors/request-owner.ts +141 -0
- package/src/detectors/share-over-hundred.ts +75 -0
- package/src/detectors/step-reference.ts +83 -0
- package/src/detectors/technical-docs.ts +230 -0
- package/src/detectors/toc-heading.ts +125 -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/list-marks.ts +106 -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 +123 -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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
id: nonstandard-word
|
|
2
|
+
layer: L2
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: known-correction
|
|
5
|
+
word_list: nonstandard-word
|
|
6
|
+
uses: [pos]
|
|
7
|
+
severity: info
|
|
8
|
+
|
|
9
|
+
name:
|
|
10
|
+
ja: 標準的でない語
|
|
11
|
+
en: Nonstandard word
|
|
12
|
+
|
|
13
|
+
why:
|
|
14
|
+
ja: 「違かった」「すいません」や、英語の「irregardless」「comprised of」は、話し言葉ではよく聞きますが、書き言葉では誤りと読まれます。読み手は語に引っかかり、文書の手入れが足りないと受け取ります。標準的でない形と標準の形の組は言語ごとの語彙表にあり、chaff は語彙表にある形だけを指します。
|
|
15
|
+
en: '"Irregardless", "comprised of" and "anyways" are common in speech, but a formal reader takes them as mistakes and starts to doubt the care taken over the rest. The pairs of nonstandard and standard form are in each language''s lexicon, and chaff reports only the forms listed there.'
|
|
16
|
+
|
|
17
|
+
message:
|
|
18
|
+
ja: 「{matched}」は書き言葉では標準的でない形です。「{suggestion}」と書きます
|
|
19
|
+
en: '"{matched}" is nonstandard in formal writing; write "{suggestion}"'
|
|
20
|
+
|
|
21
|
+
how_to_fix:
|
|
22
|
+
ja: 標準の形に直してください(違かった → 違った、すいません → すみません)。
|
|
23
|
+
en: Use the standard form ("irregardless" becomes "regardless", "is comprised of" becomes "comprises").
|
|
24
|
+
|
|
25
|
+
placeholders:
|
|
26
|
+
matched:
|
|
27
|
+
ja: 書いた語
|
|
28
|
+
en: the word as written
|
|
29
|
+
suggestion:
|
|
30
|
+
ja: 標準の形
|
|
31
|
+
en: the standard form
|
|
32
|
+
|
|
33
|
+
levels: { strict: warning, normal: info, relaxed: info }
|
|
34
|
+
|
|
35
|
+
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
36
|
+
off_for:
|
|
37
|
+
literature: 'A narrator and a character speak as they speak: 違くて and "anyways" in dialogue are the voice.'
|
|
38
|
+
speech: "A transcript keeps the speaker's words."
|
|
39
|
+
legal/patent: 'Patent claims use "comprised of" as a term of art, a transition that leaves the list open.'
|
|
40
|
+
|
|
41
|
+
group: wording
|
|
42
|
+
summary:
|
|
43
|
+
ja: 「違かった」「すいません」「irregardless」のように、書き言葉では標準的でない語
|
|
44
|
+
en: A word that formal writing treats as nonstandard, such as "irregardless" or "comprised of"
|
|
45
|
+
example:
|
|
46
|
+
ja:
|
|
47
|
+
before: 昨日の数字は、先週の報告と違かった。
|
|
48
|
+
after: 昨日の数字は、先週の報告と違った。
|
|
49
|
+
en:
|
|
50
|
+
before: The team is comprised of five engineers.
|
|
51
|
+
after: The team comprises five engineers.
|
|
52
|
+
|
|
53
|
+
not_flagged:
|
|
54
|
+
ja: 語彙表にない形は指しません。書き誤り(シュミレーション)は known-misspelling、ら抜き(見れる)は ra-nuki が扱います。
|
|
55
|
+
en: Forms not in the lexicon are not reported. Misspellings ("seperate") are left to known-misspelling and homophone slips ("could of") to homophone-slip.
|
|
56
|
+
|
|
57
|
+
rewrite:
|
|
58
|
+
depth: light
|
|
59
|
+
ja:
|
|
60
|
+
direction: 指された語を語彙表の標準の形に直してください。直すのはその語だけです。
|
|
61
|
+
pairs:
|
|
62
|
+
- before: 昨日の数字は、先週の報告と違かった。
|
|
63
|
+
after: 昨日の数字は、先週の報告と違った。
|
|
64
|
+
- before: 返信が遅くなり、すいません。
|
|
65
|
+
after: 返信が遅くなり、すみません。
|
|
66
|
+
keep:
|
|
67
|
+
- 文の言い回しと語順
|
|
68
|
+
avoid:
|
|
69
|
+
- 指された語の近くの言い回しまで書き換える
|
|
70
|
+
en:
|
|
71
|
+
direction: Replace the flagged word with the standard form the lexicon gives. Change only those words.
|
|
72
|
+
pairs:
|
|
73
|
+
- before: The team is comprised of five engineers.
|
|
74
|
+
after: The team comprises five engineers.
|
|
75
|
+
- before: We will ship on Friday, irregardless of the forecast.
|
|
76
|
+
after: We will ship on Friday, regardless of the forecast.
|
|
77
|
+
keep:
|
|
78
|
+
- the wording around the word
|
|
79
|
+
avoid:
|
|
80
|
+
- rewording the sentence while fixing the word
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: number-style-consistency
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: number-style-consistency
|
|
5
5
|
uses: [pos]
|
|
6
6
|
severity: info
|
|
@@ -42,6 +42,10 @@ how_to_fix:
|
|
|
42
42
|
levels: { strict: 49, normal: 34, relaxed: 20 }
|
|
43
43
|
|
|
44
44
|
use_for: [blog, business, technical, docs, academic, legal, literature, speech]
|
|
45
|
+
off_for:
|
|
46
|
+
legal: "Drafting writes a number twice on purpose: thirty (30) days."
|
|
47
|
+
literature: "A narrator spells out numbers in dialogue and writes figures in a date."
|
|
48
|
+
speech: "Spoken numbers are transcribed as heard."
|
|
45
49
|
|
|
46
50
|
group: consistency
|
|
47
51
|
summary:
|
|
@@ -69,6 +73,7 @@ level_meaning:
|
|
|
69
73
|
ja: 少ないほうの書き方が、その種類の数の {limit}% 以下のとき指摘
|
|
70
74
|
en: reported when the less common style is {limit}% of its kind or less
|
|
71
75
|
rewrite:
|
|
76
|
+
depth: light
|
|
72
77
|
ja:
|
|
73
78
|
direction: 少ないほうの書き方の数を、文書の多いほうの書き方に直してください。数そのものと単位は変えません。
|
|
74
79
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: number-without-unit
|
|
2
2
|
layer: L1
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: number-without-unit
|
|
5
5
|
severity: warning
|
|
6
6
|
|
|
@@ -68,6 +68,7 @@ not_flagged:
|
|
|
68
68
|
ja: ほかの値に二つ以上、同じ一つの単位が付いているときだけ指します。単位の無い値のほうが多い列、単位が混ざる列(分と時間)、数でない値(未定)は見ません。表の見出しの単位(「金額(円)」)は読みません。
|
|
69
69
|
en: Reported only when at least two other values carry one and the same unit. A column where bare numbers are the majority, one that mixes units (minutes and hours), and values that are not numbers (TBD) are not checked. A unit written in the header ("Amount ($)") is not read.
|
|
70
70
|
rewrite:
|
|
71
|
+
depth: light
|
|
71
72
|
ja:
|
|
72
73
|
direction: 指摘された数に、同じ列や同じ見出しの語のほかの値と同じ単位を付けてください。単位が違うはずなら、作らずに書き手に聞きます。
|
|
73
74
|
pairs:
|
package/rules/numbering-gap.yaml
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
id: numeral-sentence-start
|
|
2
|
+
layer: L2
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: numeral-opener
|
|
5
|
+
languages: [en]
|
|
6
|
+
severity: info
|
|
7
|
+
|
|
8
|
+
name:
|
|
9
|
+
ja: 数字で始まる英語の文
|
|
10
|
+
en: A sentence that opens with a numeral
|
|
11
|
+
|
|
12
|
+
why:
|
|
13
|
+
ja: 英語の読み手は、大文字を目印に文の始まりを見つけます。「20 people came.」のように数字で始まる文は、前の文の終わりと区切りが見えにくく、前の文の数の続きにも読めます。多くの英語の書き方の手引きは、文頭の数を綴るか、数が文の途中に来るよう書き換えるように言います。年(2026 was a good year.)は綴れないので指しません。
|
|
14
|
+
en: 'English readers find the start of a sentence by its capital letter. A sentence that opens with a numeral ("20 people came.") hides that boundary, and the number can read as the end of the sentence before. Most English style guides ask for the number to be spelled out at the start of a sentence, or for the sentence to be recast. A year ("2026 was a good year.") cannot be spelled out and is not reported.'
|
|
15
|
+
|
|
16
|
+
message:
|
|
17
|
+
ja: 文が数字「{numeral}」で始まっています
|
|
18
|
+
en: The sentence opens with the numeral "{numeral}"
|
|
19
|
+
|
|
20
|
+
how_to_fix:
|
|
21
|
+
ja: 数を綴るか(Twenty people came.)、数が文の途中に来るよう書き換えてください(The meeting drew 20 people.)。
|
|
22
|
+
en: Spell the number out ("Twenty people came.") or recast the sentence so the number comes later ("The meeting drew 20 people.").
|
|
23
|
+
|
|
24
|
+
levels: { strict: warning, normal: info, relaxed: info }
|
|
25
|
+
|
|
26
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
speech: "A transcript writes numbers as the transcriber heard them."
|
|
29
|
+
|
|
30
|
+
group: wording
|
|
31
|
+
summary:
|
|
32
|
+
ja: 英語で、「20 people came.」のように数字で始まる文
|
|
33
|
+
en: A sentence that opens with a numeral, such as "20 people came."
|
|
34
|
+
|
|
35
|
+
example:
|
|
36
|
+
en:
|
|
37
|
+
before: The meeting ran long. 20 people stayed for the vote.
|
|
38
|
+
after: The meeting ran long. Twenty people stayed for the vote.
|
|
39
|
+
|
|
40
|
+
not_flagged:
|
|
41
|
+
ja: 年(2026 was a good year.)、数字の後ろが大文字の語や記号のもの(1 Introduction、9:00 Opening remarks)、箇条書きの項目、見出しと表、言い終えていない行は指しません。前の文が句点で終わっていない数(Lane の行の次の「2 contains」)、番号に付ける略した語の後ろの数(vol. 28、H.R. 5376)も、文の頭と決められないので指しません。英語の文だけを読みます。
|
|
42
|
+
en: 'A year ("2026 was a good year."), a numeral followed by a capitalised word or a mark ("1 Introduction", "9:00 Opening remarks"), list items, headings and tables, and lines that do not end as a sentence are not reported. Nor is a number after text with no full stop ("Lane" on the line before "2 contains"), after a label written with a full stop ("vol. 28", "H.R. 5376"), since chaff cannot tell that a sentence starts there. Only English sentences are read.'
|
|
43
|
+
|
|
44
|
+
rewrite:
|
|
45
|
+
depth: light
|
|
46
|
+
en:
|
|
47
|
+
direction: Spell out the number at the start of the sentence, or move the number later in the sentence. Keep the number's value.
|
|
48
|
+
pairs:
|
|
49
|
+
- before: 20 people stayed for the vote.
|
|
50
|
+
after: Twenty people stayed for the vote.
|
|
51
|
+
- before: 3,400 orders shipped in March.
|
|
52
|
+
after: In March, 3,400 orders shipped.
|
|
53
|
+
keep:
|
|
54
|
+
- the number's value and its unit
|
|
55
|
+
avoid:
|
|
56
|
+
- spelling out a large or exact figure that reads worse in words
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: one-sentence-paragraph-run
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: one-sentence-paragraph-run
|
|
5
5
|
severity: info
|
|
6
6
|
|
|
@@ -23,6 +23,9 @@ how_to_fix:
|
|
|
23
23
|
levels: { strict: 3, normal: 4, relaxed: 6 }
|
|
24
24
|
|
|
25
25
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
26
|
+
off_for:
|
|
27
|
+
legal: "A clause, a definition or a claim is a paragraph of one sentence by form."
|
|
28
|
+
literature: "Dialogue and verse set each line apart."
|
|
26
29
|
|
|
27
30
|
group: readability
|
|
28
31
|
summary:
|
|
@@ -67,6 +70,7 @@ level_meaning:
|
|
|
67
70
|
ja: 一文だけの段落の連続 {limit} 個まで
|
|
68
71
|
en: up to {limit} one-sentence paragraphs in a row
|
|
69
72
|
rewrite:
|
|
73
|
+
depth: structure
|
|
70
74
|
ja:
|
|
71
75
|
direction: 同じ話の文を一つの段落にまとめてください。並べた項目なら箇条書きにします。文の中身と順序は変えません。
|
|
72
76
|
pairs:
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
id: ordinal-suffix-mismatch
|
|
2
|
+
layer: L2
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: ordinal-suffix
|
|
5
|
+
severity: warning
|
|
6
|
+
|
|
7
|
+
name:
|
|
8
|
+
ja: 数に合わない序数の字
|
|
9
|
+
en: An ordinal with the wrong ending
|
|
10
|
+
|
|
11
|
+
why:
|
|
12
|
+
ja: 英語の序数は、数の終わりで付く字が決まっています(1st、2nd、3rd、4th、11th、12th、13th、21st)。「3th」「22th」「11st」は打ち間違いか、数だけを書き換えて字を残したもので、読み手はどの数が正しいのかを疑います。数と字の対応は決まっているので、機械で言えます。
|
|
13
|
+
en: An English ordinal's ending is fixed by how the number ends (1st, 2nd, 3rd, 4th, 11th, 12th, 13th, 21st). "3th", "22th" or "11st" is a slip, or a number changed with its old ending left on, and the reader starts to doubt the number. The ending follows from the number, so a machine can tell.
|
|
14
|
+
|
|
15
|
+
message:
|
|
16
|
+
ja: 「{written}」は「{expected}」と書きます
|
|
17
|
+
en: '"{written}" is written "{expected}"'
|
|
18
|
+
|
|
19
|
+
how_to_fix:
|
|
20
|
+
ja: 数が正しいかを確かめ、その数に合う字に直してください。
|
|
21
|
+
en: Check that the number is right, then give it the ending that goes with it.
|
|
22
|
+
|
|
23
|
+
levels: { normal: warning, relaxed: info }
|
|
24
|
+
|
|
25
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
26
|
+
|
|
27
|
+
group: wording
|
|
28
|
+
summary:
|
|
29
|
+
ja: 「3th」「22th」「11st」のように、英語の序数の字が数と合わない所
|
|
30
|
+
en: An English ordinal whose ending does not go with its number, such as "3th", "22th" or "11st"
|
|
31
|
+
example:
|
|
32
|
+
ja:
|
|
33
|
+
before: 今年で 3th イベントになります。
|
|
34
|
+
after: 今年で 3rd イベントになります。
|
|
35
|
+
en:
|
|
36
|
+
before: This is our 22th annual meeting.
|
|
37
|
+
after: This is our 22nd annual meeting.
|
|
38
|
+
|
|
39
|
+
not_flagged:
|
|
40
|
+
ja: 語や番号の一部(v1th、0x2nd、1-2th)と、法律の引用の「2d」「3d」は読みません。コードの中は読みません。
|
|
41
|
+
en: Parts of a word or an identifier (v1th, 0x2nd, 1-2th) and the "2d" and "3d" of legal citations are not read. Code is not read.
|
|
42
|
+
|
|
43
|
+
rewrite:
|
|
44
|
+
ja:
|
|
45
|
+
direction: 数が正しいかを確かめ、その数に合う序数の字に直してください。日本語の文なら「第3回」のように書き換えてもかまいません。
|
|
46
|
+
pairs:
|
|
47
|
+
- before: 今年で 3th イベントになります。
|
|
48
|
+
after: 今年で 3rd イベントになります。
|
|
49
|
+
- before: 11st の候補を選びました。
|
|
50
|
+
after: 11th の候補を選びました。
|
|
51
|
+
keep:
|
|
52
|
+
- 数そのもの(数が違っていれば、まず数を確かめる)
|
|
53
|
+
avoid:
|
|
54
|
+
- 数を確かめずに字だけを直す
|
|
55
|
+
en:
|
|
56
|
+
direction: Check that the number is right, then give it the ending that goes with it. Where the number is small, spelling the ordinal out also works.
|
|
57
|
+
pairs:
|
|
58
|
+
- before: This is our 22th annual meeting.
|
|
59
|
+
after: This is our 22nd annual meeting.
|
|
60
|
+
- before: She finished 11st out of forty.
|
|
61
|
+
after: She finished 11th out of forty.
|
|
62
|
+
keep:
|
|
63
|
+
- the number itself (if it is wrong, fix the number first)
|
|
64
|
+
avoid:
|
|
65
|
+
- changing the ending without checking the number
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: orthographic-variant
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: orthographic-variant
|
|
5
5
|
# 語の一覧は持たない。文書の中の語を、日本語は辞書の形の読み(出来る・できる はどちらもデキル)で、カタカナ語は小さい字と「ー」を
|
|
6
6
|
# ならした形で、英字は大文字小文字とハイフンを外した形で束ね、同じ語の書き方が二つあれば少ないほうを指す。
|
|
@@ -36,6 +36,8 @@ placeholders:
|
|
|
36
36
|
levels: { strict: 49, normal: 34, relaxed: 20 }
|
|
37
37
|
|
|
38
38
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
39
|
+
off_for:
|
|
40
|
+
literature: "A narrator may hedge, speak with ら dropped, and spell as the work's time and place did."
|
|
39
41
|
|
|
40
42
|
group: consistency
|
|
41
43
|
summary:
|
|
@@ -60,6 +62,7 @@ level_meaning:
|
|
|
60
62
|
ja: 少ないほうが語の {limit}% 以下のとき指摘
|
|
61
63
|
en: reported when the minority spelling is {limit}% of the word's uses or less
|
|
62
64
|
rewrite:
|
|
65
|
+
depth: light
|
|
63
66
|
ja:
|
|
64
67
|
direction: 同じ語の書き方を、文書でいちばん多い書き方にそろえてください。意味の違う語に書き分けているなら、そのままにします。
|
|
65
68
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: outside-announced-list
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: outside-announced-list
|
|
5
5
|
requires: [pos]
|
|
6
6
|
severity: warning
|
|
@@ -56,6 +56,7 @@ not_flagged:
|
|
|
56
56
|
ja: 一覧を言う語(対応OSは、に対応、版)のすぐ隣に並べた固有名詞だけを読みます。最初に二つ以上の名前を挙げた文を一覧とし、それより前の文は見ません。組の違う語(対応する OS と、対応する言語)は比べません。
|
|
57
57
|
en: Only proper nouns right next to a listing word (supported on, available in, version) are read. The first sentence naming two or more is the list, and earlier sentences are not checked. Words of different groups (platforms and languages) are not compared.
|
|
58
58
|
rewrite:
|
|
59
|
+
depth: light
|
|
59
60
|
ja:
|
|
60
61
|
direction: 一覧と後の文のどちらが正しいかを書き手に確かめてください。後の文が正しければ一覧に名前を足し、一覧が正しければ後の文を直すか消します。
|
|
61
62
|
pairs:
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
id: oxford-comma-consistency
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: oxford-comma
|
|
5
5
|
languages: [en]
|
|
6
|
+
# The list, its items and its conjunction are read on tokens; without them there is nothing to judge.
|
|
7
|
+
requires: [pos]
|
|
6
8
|
extra_word_lists: [participle-word, example-marker, pair-opener]
|
|
7
9
|
severity: info
|
|
8
10
|
|
package/rules/padded-intro.yaml
CHANGED
|
@@ -30,6 +30,12 @@ levels:
|
|
|
30
30
|
|
|
31
31
|
# プレスリリース・メール・議事録の冒頭は理由や用件を言う所で、つかみではない。
|
|
32
32
|
use_for: [blog, business/report, business/proposal, legal, docs, academic, literature, speech]
|
|
33
|
+
off_for:
|
|
34
|
+
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."
|
|
35
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
36
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
37
|
+
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."
|
|
38
|
+
speech: "A speech opens with greetings and closes with thanks: that is its form, not padding."
|
|
33
39
|
|
|
34
40
|
group: wording
|
|
35
41
|
summary:
|
|
@@ -50,6 +56,7 @@ level_meaning:
|
|
|
50
56
|
ja: 当てはまる書き出しが {limit} 箇所あれば指摘
|
|
51
57
|
en: reported once there are {limit}
|
|
52
58
|
rewrite:
|
|
59
|
+
depth: light
|
|
53
60
|
ja:
|
|
54
61
|
direction: どの文書にも当てはまる書き出し(「近年、〜が注目されています」)を消し、この文書だけが扱う状況か主張から始めてください。それが本文に無ければ書き手に聞きます。
|
|
55
62
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: paragraph-length-variance
|
|
2
2
|
layer: L1
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: paragraph-variance
|
|
5
5
|
severity: info
|
|
6
6
|
|
|
@@ -31,6 +31,12 @@ options:
|
|
|
31
31
|
en: The fewest paragraphs measured. With few paragraphs, the variation is small by chance, and a person's writing looks uniform too
|
|
32
32
|
|
|
33
33
|
use_for: [blog, legal, docs, academic, literature, speech]
|
|
34
|
+
off_for:
|
|
35
|
+
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."
|
|
36
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
37
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
38
|
+
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."
|
|
39
|
+
speech: "A speech opens with greetings and closes with thanks: that is its form, not padding."
|
|
34
40
|
|
|
35
41
|
group: ai-tells
|
|
36
42
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: paragraph-restatement
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: paragraph-restatement
|
|
5
5
|
requires: [pos]
|
|
6
6
|
severity: info
|
|
@@ -25,6 +25,10 @@ how_to_fix:
|
|
|
25
25
|
levels: { strict: 40, normal: 50, relaxed: 60 }
|
|
26
26
|
|
|
27
27
|
use_for: [blog, business, technical, docs, academic, legal, literature, speech]
|
|
28
|
+
off_for:
|
|
29
|
+
legal: "すなわち and that is, open a definition that restates on purpose."
|
|
30
|
+
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."
|
|
31
|
+
speech: "A speaker says it again so the room hears it: 要するに, in other words."
|
|
28
32
|
|
|
29
33
|
group: readability
|
|
30
34
|
summary:
|
|
@@ -60,6 +64,7 @@ level_meaning:
|
|
|
60
64
|
ja: 内容語の {limit}% 以上が前の段落の繰り返しのとき指摘
|
|
61
65
|
en: reported when {limit}% or more of the paragraph's content words repeat the paragraph before
|
|
62
66
|
rewrite:
|
|
67
|
+
depth: structure
|
|
63
68
|
ja:
|
|
64
69
|
direction: 言い直しの段落を消すか、前の段落に無いことを書く段落に変えてください。結論・次にすること・数字のうち、本文にあるものを書きます。「つまり」「このように」で前の段落をなぞるだけの文は残しません。
|
|
65
70
|
pairs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: percent-sum-mismatch
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: percent-sum-mismatch
|
|
5
5
|
requires: [quantities]
|
|
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: person-consistency
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: person-mix
|
|
5
5
|
word_list: person-word
|
|
6
6
|
extra_word_lists: [person-form]
|
|
@@ -34,6 +34,9 @@ how_to_fix:
|
|
|
34
34
|
levels: { strict: 30, normal: 20, relaxed: 10 }
|
|
35
35
|
|
|
36
36
|
use_for: [technical, blog, business, legal, docs, academic, literature, speech]
|
|
37
|
+
off_for:
|
|
38
|
+
literature: "A story's narrator and its characters each say 私 or 僕 in their own voice."
|
|
39
|
+
speech/transcript: "Several people speak, each naming themselves their own way."
|
|
37
40
|
|
|
38
41
|
group: consistency
|
|
39
42
|
summary:
|
|
@@ -24,6 +24,12 @@ how_to_fix:
|
|
|
24
24
|
levels: { strict: 1, normal: 2, relaxed: 4 }
|
|
25
25
|
|
|
26
26
|
use_for: [business, legal, docs, academic, literature, speech]
|
|
27
|
+
off_for:
|
|
28
|
+
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."
|
|
29
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
30
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
31
|
+
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."
|
|
32
|
+
speech: "A speech opens with greetings and closes with thanks: that is its form, not padding."
|
|
27
33
|
|
|
28
34
|
group: structure
|
|
29
35
|
summary:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: proper-noun-density
|
|
2
2
|
layer: L3
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: proper-noun-density
|
|
5
5
|
requires: [pos]
|
|
6
6
|
# chaff.yaml の names に並べた名前は、何語に割れても 1 つと数える。名前そのものは数える(読み手が知らないことは変わらない)。
|
|
@@ -29,6 +29,13 @@ levels:
|
|
|
29
29
|
en: { strict: 150, normal: 200, relaxed: 260 }
|
|
30
30
|
|
|
31
31
|
use_for: [blog, business, technical, legal, docs, academic, literature, speech]
|
|
32
|
+
off_for:
|
|
33
|
+
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."
|
|
34
|
+
docs: "A help page repeats its heading in its first line (To upload a file, ...) and states no claims to back up."
|
|
35
|
+
academic: "Science writes in the passive, hedges its claims on purpose (may, suggest) and cites numbers as its evidence."
|
|
36
|
+
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."
|
|
37
|
+
speech: "A speech opens with greetings and closes with thanks: that is its form, not padding."
|
|
38
|
+
business/press-release: "A release names the agency, the people quoted, the mission and the place: that is its news, not a crowd of names to thin out. Every English release in the corpus (GSA, NASA, NOAA) is over the limit."
|
|
32
39
|
|
|
33
40
|
group: readability
|
|
34
41
|
summary:
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
id: quote-style-consistency
|
|
2
|
+
layer: L1
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: mark-consistency
|
|
5
|
+
word_list: quote-style
|
|
6
|
+
languages: [en]
|
|
7
|
+
severity: info
|
|
8
|
+
|
|
9
|
+
name:
|
|
10
|
+
ja: 引用符の直と曲の混在
|
|
11
|
+
en: Straight and curly quotes mixed
|
|
12
|
+
|
|
13
|
+
why:
|
|
14
|
+
ja: 英語の引用符とアポストロフィを、直の形(" ')と曲がった形(“ ” ’)で混ぜて書くと、別々の所から貼り合わせた文書に見え、検索や置換でも片方を取りこぼします。どちらが正しいかは決めません。文書の中で少ないほうを指します。
|
|
15
|
+
en: Straight quotes and apostrophes (" ') mixed with curly ones (“ ” ’) make a document look pasted together, and a search or replace finds only one kind. chaff does not pick a side; it points at the less common way in the document.
|
|
16
|
+
|
|
17
|
+
message:
|
|
18
|
+
ja: 引用符を {mark} と書いています(この文書はふつう {usual}。{of} 箇所のうち {count} 箇所が違う)
|
|
19
|
+
en: The quote mark {mark} here, where the document usually writes {usual} ({count} of {of})
|
|
20
|
+
|
|
21
|
+
# 少ないほうが 5 箇所以上で、全体の 2 割を超えるとき。書き損じではなく書き方が二通りあるので、1 件にまとめて両方の数を言う。
|
|
22
|
+
messages:
|
|
23
|
+
mixed:
|
|
24
|
+
ja: "引用符を、曲がった形で {spaced} 箇所、直の形で {touching} 箇所書いています。この文書には書き方が二通りあります"
|
|
25
|
+
en: "Quote marks are written two ways in this document ({spaced} curly, {touching} straight)"
|
|
26
|
+
|
|
27
|
+
how_to_fix:
|
|
28
|
+
ja: 文書の多いほうの形に合わせてください。
|
|
29
|
+
en: Match the form the rest of the document uses.
|
|
30
|
+
|
|
31
|
+
levels: { strict: 1, normal: 1, relaxed: 3 }
|
|
32
|
+
|
|
33
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
34
|
+
off_for:
|
|
35
|
+
docs: measured by yarn rules:measure
|
|
36
|
+
|
|
37
|
+
group: consistency
|
|
38
|
+
summary:
|
|
39
|
+
ja: 英語で、直の引用符(" ')と曲がった引用符(“ ” ’)が一つの文書の中で混ざっている所
|
|
40
|
+
en: Straight quotes (" ') and curly quotes (“ ” ’) mixed in one document
|
|
41
|
+
example:
|
|
42
|
+
en:
|
|
43
|
+
before: |
|
|
44
|
+
The "draft" is ready. The "final" is due. The “review” is next.
|
|
45
|
+
after: |
|
|
46
|
+
The "draft" is ready. The "final" is due. The "review" is next.
|
|
47
|
+
|
|
48
|
+
not_flagged:
|
|
49
|
+
ja: 英字に接する引用符だけを数えます。コードの中と、二重引用符と一重引用符(アポストロフィ)の間の違いは見ません(種類ごとに数えます)。
|
|
50
|
+
en: Only marks touching a letter are counted, and code is skipped. Double and single quotes (apostrophes) are counted as separate kinds.
|
|
51
|
+
level_meaning:
|
|
52
|
+
ja: 少ないほうの書き方が {limit} 箇所あれば指摘
|
|
53
|
+
en: reported once the less common way appears {limit} times
|
|
54
|
+
rewrite:
|
|
55
|
+
depth: light
|
|
56
|
+
en:
|
|
57
|
+
direction: Change the marked quotes to the form the rest of the document uses. Change nothing else.
|
|
58
|
+
pairs:
|
|
59
|
+
- before: The “review” is next.
|
|
60
|
+
after: The "review" is next.
|
|
61
|
+
- before: The team’s plan holds.
|
|
62
|
+
after: The team's plan holds.
|
|
63
|
+
keep:
|
|
64
|
+
- the words inside the quotes
|
|
65
|
+
avoid:
|
|
66
|
+
- changing the quotes the document already writes the common way
|
package/rules/ra-nuki.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: ra-nuki
|
|
2
2
|
layer: L2
|
|
3
|
-
status:
|
|
3
|
+
status: stable
|
|
4
4
|
how_to_find: ra-nuki
|
|
5
5
|
# 一段動詞かどうかは品詞解析で読む。品詞が無ければ動かない。
|
|
6
6
|
requires: [pos]
|
|
@@ -26,6 +26,9 @@ how_to_fix:
|
|
|
26
26
|
levels: { strict: error, normal: warning, relaxed: info }
|
|
27
27
|
|
|
28
28
|
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
29
|
+
off_for:
|
|
30
|
+
literature: "A narrator may hedge, speak with ら dropped, and spell as the work's time and place did."
|
|
31
|
+
speech: "A transcript keeps the speaker's words: hedges and ら dropped as spoken."
|
|
29
32
|
|
|
30
33
|
group: wording
|
|
31
34
|
summary:
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
id: range-notation-consistency
|
|
2
|
+
layer: L2
|
|
3
|
+
status: stable
|
|
4
|
+
how_to_find: range-notation
|
|
5
|
+
severity: info
|
|
6
|
+
|
|
7
|
+
name:
|
|
8
|
+
ja: 範囲の記号が混ざっている
|
|
9
|
+
en: Ranges written with two marks
|
|
10
|
+
|
|
11
|
+
why:
|
|
12
|
+
ja: 数の範囲を「10〜20」と「10-20」、「10–20」と「10-20」のように二通りの記号で書くと、読み手は記号の違いに意味があるのか(ハイフンは引き算や番号か)と迷います。資料を寄せ集めたときや、入力のしかたが人によって違うときに起きます。どの記号が正しいかは決めず、文書の中で少ないほうを指します。
|
|
13
|
+
en: When one document writes ranges with two marks ("10–20" and "10-20", "10〜20" and "10-20"), the reader wonders whether the difference means something, a hyphen being also a minus sign or part of a number. It happens when texts are pasted together or typed by different people. chaff does not decide which mark is right; it points at the one the document uses less.
|
|
14
|
+
|
|
15
|
+
message:
|
|
16
|
+
ja: 範囲を「{written}」と書いています(この文書はふつう「{usual}」のように書きます。{of} 箇所のうち {count} 箇所が違う)
|
|
17
|
+
en: 'The range "{written}" here, where the document usually writes ranges like "{usual}" ({count} of {of})'
|
|
18
|
+
|
|
19
|
+
how_to_fix:
|
|
20
|
+
ja: 文書の多いほうの記号に合わせてください。チームで決めているなら、STYLE.md に書いておくと迷いません。
|
|
21
|
+
en: Match the mark the rest of the document uses. If the team has decided, write it in the style guide.
|
|
22
|
+
|
|
23
|
+
# 少ないほうが、範囲の何パーセントまでなら「混ざっている」と見るか。これを超えたら、文書が使い分けている。
|
|
24
|
+
levels: { strict: 49, normal: 34, relaxed: 20 }
|
|
25
|
+
|
|
26
|
+
use_for: [business, technical, blog, legal, docs, academic, literature, speech]
|
|
27
|
+
|
|
28
|
+
group: consistency
|
|
29
|
+
summary:
|
|
30
|
+
ja: 「10〜20」と「10-20」のように、一つの文書で数の範囲を二通りの記号で書いている所
|
|
31
|
+
en: Ranges written with two marks in one document, such as "10–20" and "10-20"
|
|
32
|
+
example:
|
|
33
|
+
ja:
|
|
34
|
+
before: |
|
|
35
|
+
定員は 10〜20 名、所要は 30〜40 分、費用は 500〜800 円です。対象は 6-12 歳です。
|
|
36
|
+
after: |
|
|
37
|
+
定員は 10〜20 名、所要は 30〜40 分、費用は 500〜800 円です。対象は 6〜12 歳です。
|
|
38
|
+
en:
|
|
39
|
+
before: |
|
|
40
|
+
Groups of 10–20 meet for 30–40 minutes, at 5–8 dollars each. Children aged 6-12 are welcome.
|
|
41
|
+
after: |
|
|
42
|
+
Groups of 10–20 meet for 30–40 minutes, at 5–8 dollars each. Children aged 6–12 are welcome.
|
|
43
|
+
|
|
44
|
+
not_flagged:
|
|
45
|
+
ja: 前後にさらに数の続く並び(日付の 2026-10-02、電話番号、時刻の 10:00〜12:00、版)と、終わりが始まりより小さいもの(郵便番号の 100-0001、試合の 3-2)は範囲と読みません。「10から20」のような言葉の範囲は比べません。少ないほうが範囲の三分の一を超える文書と、二つの記号が同じ数の文書は、使い分けと読んで言いません。コードの中は読みません。
|
|
46
|
+
en: Runs with more numbers around them (the date 2026-10-02, phone numbers, times such as 10:00–12:00, versions) and pairs whose end is smaller than the start (a score of 3-2, a postcode such as 100-0001) are not read as ranges. Words ("10 to 20") are not compared. When the less common mark is over a third of the ranges, or the two are equally common, the document is read as using both on purpose. Code is not read.
|
|
47
|
+
level_meaning:
|
|
48
|
+
ja: 少ないほうの記号が、範囲の {limit}% 以下のとき指摘
|
|
49
|
+
en: reported when the less common mark is {limit}% of the ranges or less
|
|
50
|
+
|
|
51
|
+
rewrite:
|
|
52
|
+
ja:
|
|
53
|
+
direction: 範囲の記号を、文書で多いほうにそろえてください。数と単位はそのまま残します。
|
|
54
|
+
pairs:
|
|
55
|
+
- before: 定員は 10〜20 名、対象は 6-12 歳です。
|
|
56
|
+
after: 定員は 10〜20 名、対象は 6〜12 歳です。
|
|
57
|
+
- before: 所要は 30~40 分、費用は 500〜800 円です。
|
|
58
|
+
after: 所要は 30〜40 分、費用は 500〜800 円です。
|
|
59
|
+
keep:
|
|
60
|
+
- 範囲の数と単位
|
|
61
|
+
avoid:
|
|
62
|
+
- 日付や電話番号のハイフンまで範囲の記号に変える
|
|
63
|
+
en:
|
|
64
|
+
direction: Write every range with the mark the document mostly uses. Keep the numbers and units as they are.
|
|
65
|
+
pairs:
|
|
66
|
+
- before: Groups of 10–20 meet. Children aged 6-12 are welcome.
|
|
67
|
+
after: Groups of 10–20 meet. Children aged 6–12 are welcome.
|
|
68
|
+
- before: Sessions last 30–40 minutes and cost 5~8 dollars.
|
|
69
|
+
after: Sessions last 30–40 minutes and cost 5–8 dollars.
|
|
70
|
+
keep:
|
|
71
|
+
- the numbers and units of each range
|
|
72
|
+
avoid:
|
|
73
|
+
- changing the hyphens in dates, phone numbers or part numbers
|