A tool to detect misspellings with opinionated additions
This is a Python library and tool to check for misspelled words in source code. It does this by looking for words from a list of common misspellings. The dictionary it uses to do this is based on the Wikipedia list of common misspellings.
The list has been slightly modified to remove some changes that cause a number of false positives. In particular ok->OK was removed (ok is frequently used in perl tests for instance).
This includes custom additions that should be considered opinionated, such as cancellation vs. cancelation. This is not recommended for anyone’s use.
To try it out, merely run the following (using an old coreutils source tree as an example):
$ git clone git://git.sv.gnu.org/coreutils -b v8.10 coreutils $ find coreutils -name '*.c' | misspellings -f - coreutils/src/cat.c:754: efficency -> "efficiency" coreutils/src/comm.c:198: funtion -> "function" coreutils/src/expr.c:21: seperate -> "separate" coreutils/src/pr.c:1417: accomodate -> "accommodate" coreutils/src/tac.c:342: unneccessary -> "unnecessary" coreutils/src/test.c:91: supressed -> "suppressed"
Contributions are welcome! Please add unit tests for new features or bug fixes. To run all the unit tests run ./setup.py test. If you have tox installed, just run tox.
You can review coverage of added tests by running coverage run setup.py test and then running coverage report -m.
Note that tests are run on Travis for all supported python versions whenever the tree on github is pushed to.
The packaged version is available via pip or easy_install as misspellings. The project page is on pypi:
The source code is available in the following locations:
Pull requests on any of those platforms or emailed patches are fine.
Some items on the TODO list: