CODESPELL(1)

NAME
codespell - detect spelling mistakes in source code

SYNOPSIS
codespell [OPTIONS] [file1 file2 ... fileN]

DESCRIPTION

codespell is designed to find and fix common misspellings in text files. It is designed primarily for checking misspelled words in source code, but it can be used with other files as well.

usage: codespell [-h] [--version] [-d] [-c] [-w] [-D DICTIONARY]

    [--builtin BUILTIN-LIST] [--ignore-regex IGNORE_REGEX] [--ignore-multiline-regex IGNORE_MULTILINE_REGEX] [-I FILES] [-L WORDS] [--uri-ignore-words-list WORDS] [-r REGEX] [--uri-regex URI_REGEX] [-s] [--count] [-S SKIP] [-x FILES] [-i MODE] [-q LEVEL] [-e] [-f] [-H] [-A LINES] [-B LINES] [-C LINES] [--stdin-single-line] [--config CONFIG] [--toml TOML] [files ...]

  positional arguments:

files
    files or directories to check

  options:

-h, --help
    show this help message and exit

--version
    show program's version number and exit

-d, --disable-colors
    disable colors, even when printing to terminal

-c, --enable-colors
    enable colors, even when not printing to terminal

-w, --write-changes
    write changes in place if possible

-D, --dictionary DICTIONARY
    comma-separated list of custom dictionary files that contain spelling corrections. If this flag is not specified or equals "-" then the default dictionary is used.

--builtin BUILTIN-LIST
    comma-separated list of builtin dictionaries to include (when "-D -" or no "-D" is passed). Current options are: - 'clear' for unambiguous errors - 'rare' for rare (but valid) words that are likely to

be errors
    - 'informal' for making informal words more formal - 'usage' for replacing phrasing with recommended

terms
    - 'code' for words from code and/or mathematics that

are likely to be typos in other contexts (such as
    uint)

- 'names' for valid proper names that might be typos
    - 'en-GB_to_en-US' for corrections from en-GB to en-US - 'en_to_en-OX' for corrections from en to en-OX The default is 'clear,rare'.

--ignore-regex IGNORE_REGEX
    regular expression that is used to find patterns to ignore by treating as whitespace. When writing regular expressions, consider ensuring there are boundary nonword chars, e.g., "\bmatch\b". Defaults to empty/disabled.

--ignore-multiline-regex IGNORE_MULTILINE_REGEX
    regular expression that is used to ignore text that may span multi-line regions. The regex is run with re.DOTALL. For example to allow skipping of regions of Python code using begin/end comments one could use: --ignore-multiline-regex '# codespell:ignore-begin *\n.*# codespell:ignore-end *\n'. Defaults to empty/disabled.

-I, --ignore-words FILES
    comma-separated list of files that contain words to be ignored by codespell. Files must contain 1 word per line. Words are case sensitive based on how they are written in the dictionary file.

-L, --ignore-words-list WORDS
    comma-separated list of words to be ignored by codespell. Words are case sensitive based on how they are written in the dictionary file.

--uri-ignore-words-list WORDS
    comma-separated list of words to be ignored by codespell in URIs and emails only. Words are case sensitive based on how they are written in the dictionary file. If set to "*", all misspelling in URIs and emails will be ignored.

-r, --regex REGEX
    regular expression that is used to find words. By default any alphanumeric character, the underscore, the hyphen, and the apostrophe are used to build words. This option cannot be specified together with --write-changes.

--uri-regex URI_REGEX
    regular expression that is used to find URIs and emails. A default expression is provided.

-s, --summary
    print summary of fixes

--count
    print the number of errors as the last line of stderr

-S, --skip SKIP
    comma-separated list of files to skip. It accepts globs as well. E.g.: if you want codespell to skip .eps and .txt files, you'd give "*.eps,*.txt" to this option.

-x, --exclude-file FILES
    ignore whole lines that match those in the commaseparated list of files EXCLUDE. The lines in these files should match the to-be-excluded lines exactly

-i, --interactive MODE
    set interactive mode when writing changes: - 0: no interactivity. - 1: ask for confirmation. - 2: ask user to choose one fix when more than one is

available.
    - 3: both 1 and 2

-q, --quiet-level LEVEL
    bitmask that allows suppressing messages: - 0: print all messages. - 1: disable warnings about wrong encoding. - 2: disable warnings about binary files. - 4: omit warnings about automatic fixes that were

disabled in the dictionary.
    - 8: don't print anything for non-automatic fixes. - 16: don't print the list of fixed files. - 32: don't print configuration files. As usual with bitmasks, these levels can be combined; e.g. use 3 for levels 1+2, 7 for 1+2+4, 23 for 1+2+4+16, etc. The default mask is 34.

-e, --hard-encoding-detection
    use chardet to detect the encoding of each file. This can slow down codespell, but is more reliable in detecting encodings other than utf-8, iso8859-1, and ascii.

-f, --check-filenames
    check file names as well

-H, --check-hidden
    check hidden files and directories (those starting with ".") as well.

-A, --after-context LINES
    print LINES of trailing context

-B, --before-context LINES
    print LINES of leading context

-C, --context LINES
    print LINES of surrounding context

--stdin-single-line
    output just a single line for each misspelling in stdin mode

--config CONFIG
    path to config file.

--toml TOML
    path to a pyproject.toml file.

Use @PATH to read additional arguments from file PATH.

AUTHOR
Lucas De Marchi <lucas.de.marchi@gmail.com>

SEE ALSO
https://github.com/codespell-project/codespell