All rules

Brackets nested too deep

bracket-nestingon by default (info)Japanese / English

Brackets inside brackets inside brackets in one sentence

Example

Flagged
The fee is waived (for members (including student members (under 25))) on request.
What chaff prints
1:1 Brackets nested 3 deep (limit 2)
Fixed
The fee is waived on request for members, including student members under 25.
What chaff prints
no finding

How to fix

Take the innermost bracket out into its own sentence or a note.

Why it matters

A bracket inside a bracket inside a bracket makes the reader hold every open one while reading on, and lose where the sentence resumed. Two levels are common in notes and quotations; deeper than that reads better as a separate sentence or a note. Round and square brackets, Japanese corner brackets and curly double quotes are counted. A closing bracket with no opener (the "1)" of a list) and brackets inside a formula ($…$) are not.

What it does not flag

Two levels of brackets, a closing bracket with no opener ("1)"), brackets in code or in a formula ($…$), and curly braces are not counted. A quotation of a string to type as it stands (an e-mail subject, a file name, as in with the subject line “Entry (Training)”) counts as one bracket, since its own brackets cannot be taken out. A bracket written as part of a word (a reading such as 拓(ひら)く, a note right after a name such as 栄養教諭(仮称), a subsection mark right after a number such as § 1813(h), a letter altered in a quotation such as [A]) is not counted.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: bracket-nesting — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax bracket-nesting --why "reason"
Turn it off for the team (chaff.yaml)
rules: bracket-nesting: off
Technical details
Layer
L3
Status
stable
Severity
info
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

strictbrackets nested up to 1 deep
normalbrackets nested up to 2 deep
relaxedbrackets nested up to 3 deep

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

Brackets nested {count} deep (limit {limit})

Rewrite depth (chaff fix-plan --depth): light — words and sentences; the structure and the voice stay

This page is built from the rule's definition file:packages/chaff/rules/bracket-nesting.yaml