Configuration is read from the following (in precedence order)
- Command line arguments
- File specified via
--config PATH
- Search parents of specified file / directory for one of
typos.toml
,_typos.toml
,.typos.toml
,Cargo.toml
, orpyproject.toml
.- In
pyproject.toml
, the below fields must be under the[tool.typos]
section. If this section does not exist, the config file will be skipped. - In
Cargo.toml
, the below fields must be under either[workspace.metadata.typos]
or[package.metadata.typos]
- In
Field | Argument | Format | Description |
---|---|---|---|
files.binary | --binary | bool | Check binary files as text |
files.extend-exclude | --exclude | list of strings | Typos-specific ignore globs (gitignore syntax) |
- | --force-exclude | bool | Respect excluded files even for paths passed explicitly. |
files.ignore-hidden | --hidden | bool | Skip hidden files and directories. |
files.ignore-files | --ignore | bool | Respect ignore files. |
files.ignore-dot | --ignore-dot | bool | Respect .ignore files. |
files.ignore-vcs | --ignore-vcs | bool | Respect ignore files in vcs directories. |
files.ignore-global | --ignore-global | bool | Respect global ignore files. |
files.ignore-parent | --ignore-parent | bool | Respect ignore files in parent directories. |
default.binary | --binary | bool | Check binary files as text |
default.check-filename | - | bool | Verifying spelling in file names. |
default.check-file | - | bool | Verifying spelling in files. |
default.unicode | --unicode | bool | Allow unicode characters in identifiers (and not just ASCII) |
default.locale | --locale | en, en-us, en-gb, en-ca, en-au | English dialect to correct to. |
default.extend-ignore-re | - | list of regexes | Custom uncorrectable sections (e.g. markdown code fences, PGP signatures, etc) |
default.extend-identifiers | - | table of strings | Corrections for identifiers. When the correction is blank, the identifier is never valid. When the correction is the key, the identifier is always valid. |
default.extend-ignore-identifiers-re | - | list of regexes | Pattern-match always-valid identifiers |
default.extend-words | - | table of strings | Corrections for words. When the correction is blank, the word is never valid. When the correction is the key, the word is always valid. |
default.extend-ignore-words-re | - | list of regexes | Pattern-match always-valid words. Note: you must handle case insensitivity yourself |
type.<name>.<field> | <varied> | <varied> | See default. for child keys. Run with --type-list to see available <name> s |
type.<name>.extend-glob | - | list of strings | File globs for matching <name> |
Common extend-ignore-re
:
- Line ignore with trailing
# spellchecker:disable-line
:"(?Rm)^.*(#|//)\\s*spellchecker:disable-line$"
- Line block with
# spellchecker:<on|off>
:"(?s)(#|//)\\s*spellchecker:off.*?\\n\\s*(#|//)\\s*spellchecker:on"
Common extend-ignore-identifiers-re
:
- SSL Cipher suites:
"\\bTLS_[A-Z0-9_]+(_anon_[A-Z0-9_]+)?\\b"