File formats
How lawlint reads plain text, Markdown, and Word documents — and what it preserves when it writes them back.
The CLI and desktop app lint plain text, Markdown, and Word documents.
| Format | Extensions | Notes |
|---|---|---|
| Plain text | .txt, anything else |
Linted verbatim. |
| Markdown | .md |
Fenced code blocks are skipped automatically. |
| Word | .docx |
Text is projected out for linting; --fix writes back tracked changes. |
Passing - — or no file at all — reads stdin.
Markdown
For a .md file, lawlint strips fenced code blocks before linting, so a code
sample full of em dashes and delve never produces findings.
Piped input has no filename to infer from, so ask for it:
cat draft.md | lawlint --markdown
Word documents
.docx files are read into the same text model as everything else. With
--fix, machine-applicable fixes are written back as native Word tracked
changes, each accompanied by a review comment naming the rule — so every
change lands in Word’s normal review flow and can be accepted or rejected one
at a time.
Everything else in the document is preserved byte for byte: styles, numbering, headers, embedded images, and any tracked changes already in the file.
Stdin
cat memo.txt | lawlint - --format json
lawlint < memo.txt
Reading stdin is what makes lawlint composable in editors and pipelines — see
Continuous integration. Since there is no file to write
back to, --fix has nothing to modify; use --format prompt or --diff
instead.