codespell

Spellchecker for source code.

TLDR

Check for typos in all text files in the current directory, recursively

$ codespell
copy

Correct all typos found in-place

$ codespell --write-changes
copy

Skip files with names that match the specified pattern (accepts a comma-separated list of patterns using wildcards)

$ codespell --skip "[pattern]"
copy

Use a custom dictionary file when checking (--dictionary can be used multiple times)

$ codespell --dictionary [path/to/file.txt]
copy

Do not check words that are listed in the specified file

$ codespell --ignore-words [path/to/file.txt]
copy

Do not check the specified words

$ codespell --ignore-words-list [words,to,ignore]
copy

Print 3 lines of context around, before or after each match

$ codespell --[context|before-context|after-context] [3]
copy

Check file names for typos, in addition to file contents

$ codespell --check-filenames
copy

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] [-I FILE] [-L WORDS] [-r REGEX] [-s] [--count] [-S SKIP] [-x FILE] [-i INTERACTIVE] [-q QUIET_LEVEL] [-e] [-f] [-H] [-A LINES] [-B LINES] [-C LINES] [--config CONFIG] [files ...]

positional arguments:

files

files or directories to check

optional arguments:

-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 (always set for Windows)

-c, --enable-colors

enable colors, even when not printing to terminal

-w, --write-changes

write changes in place if possible

-D DICTIONARY, --dictionary DICTIONARY

custom dictionary file that contains spelling corrections. If this flag is not specified or equals "-" then the default dictionary is used. This option can be specified multiple times.

--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 - 'informal' for informal words - 'usage' for recommended terms - 'code' for words common to code and/or mathematics - 'names' for valid proper names that might be typos - 'en-GB_to_en-US' for corrections from en-GB to en-US The default is 'clear,rare'.

--ignore-regex IGNORE_REGEX

regular expression which is used to find patterns to ignore by treating as whitespace. When writing regexes, consider ensuring there are boundary non-word chars, e.g., "\Wmatch\W". Defaults to empty/disabled.

-I FILE, --ignore-words FILE

file that contains words which will be ignored by codespell. File must contain 1 word per line. Words are case sensitive based on how they are written in the dictionary file

-L WORDS, --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

-r REGEX, --regex REGEX

regular expression which is used to find words. By default any alphanumeric character, the underscore, the hyphen, and the apostrophe is used to build words. This option cannot be specified together with --writechanges.

-s, --summary

print summary of fixes

--count

print the number of errors as the last line of stderr

-S SKIP, --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 FILE, --exclude-file FILE

FILE with lines that should not be checked for errors or changed

-i INTERACTIVE, --interactive INTERACTIVE

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, --quiet-level QUIET_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. 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 2.

-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 LINES, --after-context LINES

print LINES of trailing context

-B LINES, --before-context LINES

print LINES of leading context

-C LINES, --context LINES

print LINES of surrounding context

--config CONFIG

path to config file.

SEE ALSO

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

AUTHOR

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

Copied to clipboard
chromebooks