All rules

List bullets mixed

list-marker-mixon by default (info)Japanese / English

Bullets ("-", "*", "+", "・") mixed in one list or one document

Example

Flagged
Bring the following. - A pen - Your badge * Lunch
What chaff prints
5:1 The bullet changes from "-" to "*"; Markdown starts a new list here
Fixed
Bring the following. - A pen - Your badge - Lunch
What chaff prints
no finding

How to fix

Use the bullet most of the document's lists use. Make a line typed with "・" an item starting with "- ".

Why it matters

Mixed bullets ("-", "*", "+", "・") do not show the way the writer meant. Changing the bullet partway through a list makes Markdown start a new list there, with a gap. A line typed with "・" inside a list item is not a list item; Markdown joins it to the line above. A single list in a document written with another bullet is usually pasted from elsewhere or half rewritten. chaff does not pick a bullet; among lists of the same depth it points at the smaller side.

What it does not flag

Lists at different depths ("-" at the top, "*" nested) are not compared. Fewer than three lists at one depth, a smaller side above a quarter, numbered lists, and lists in quotations or code are not reported. "・" is read as a bullet only on a line inside a list item, or in a paragraph of two or more lines that start with it.

Turning it off or relaxing it

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

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).

strictwarning
normalinfo
relaxedinfo

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

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

The bullet "{mark}" differs from the other lists ("{usual}")

The bullet changes from "{usual}" to "{mark}"; Markdown starts a new list here

A line starting with "・" inside a list item is not a list item; Markdown joins it to the line above

This list uses the bullet "{mark}", while {count} lists at the same depth use "{usual}"

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/list-marker-mix.yaml