mirror of
https://github.com/crate-ci/typos.git
synced 2024-12-26 17:42:15 -05:00
ac46a6ba54
Typos primarily works off of identifiers and words. We have built-in support to detect constructs that span identifiers that should not be spell checked, like UUIDs, emails, domains, etc. This opens it up for for user-defined identifier-spanning constructs using regexes via `extend-ignore-re`. This works differently than any of the previous ways of ignoring thing because the regexes require extra parse passes. Under the assumption that (1) actual typos are rare and (2) number of files relying on `extend-ignore-re` are rare, we only do these extra parse passes when a typo is found, causing almost no performance hit in the expected case. While this could be used for more generic types of ignores, it isn't the most maintainable because it is separate from the source files in question. Ideally, we'd implement document settings / directives for these cases (#316).
2.7 KiB
2.7 KiB
typos
Reference
Configuration
Sources
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
, or.typos.toml
Config Fields
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) |
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. |
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> |