structure.excessive-commas
What it flags
Sentences whose comma count exceeds a per-profile ceiling. The comma is the most frequent marker of syntactic complexity; rather than disentangle the cause (subordination, apposition, enumeration, parenthetical), the rule uses density as a leading indicator of overload.
At a glance
| Category | structure |
| Default severity | warning |
| Default weight | 1 |
| Languages | EN · FR (identical detection) |
| Source | src/rules/excessive_commas.rs |
Detection
Count commas per sentence, report those above max_commas.
Interaction. When structure.long-enumeration fires on the same sentence, this rule is suppressed for that sentence to avoid double-reporting. The shared enumeration detector discounts Oxford-style enumeration commas (3+ short items, plus a relaxed rhythmic pass for 1–4-word items, plus runs closed by plus as well as and / or — see “Known false positives” below) and commas inside (A, B, C, …) parenthesised token lists (3+ short comma-separated segments inside balanced parens) — all language-agnostic.
Parameters
| Key | Type | dev-doc | public | falc |
|---|---|---|---|---|
max_commas | int | 4 | 3 | 2 |
Known false positives
Remaining false positives mostly come from bare lists with no terminal connector (e.g. Rules touched: A, B, C) and Oxford runs interrupted by an interleaved parenthetical; these are tracked as F22 in the roadmap for further v0.3 sub-slices.
Suppression
See also
References
See References for the full bibliography.