Utility to fix common misspellings, typos in source codes. There are lots of typical misspellings in program codes. Typically they are more eye-catching in the living code but they can easily hide in comments, examples, samples, notes and documentations. With this utility you can fix a large number of them very quickly.
Be aware that the utility does not check or fix file names. It can easily happen that a misspelled word is fixed in a file name in a program's code, but the file itself will not be renamed by this utility.
And also important to note to be extra careful when fixing public APIs!
A manual review is always needed to verify that nothing has been broken.
misspell_fixer [OPTION] target
target can be any file or directory.
-dDebug mode: shows the core logics all steps
-vVerbose mode: shows the iterated files
-rReal run mode: Overwrites the original files with the fixed one. Without this option the originals will be untouched.
-fFast mode: Faster mode with limited options. (
-soptions are not supported) Works only with real run mode
-r. This mode cannot make backups. (
-nis also needed)
-sShows diffs of changes.
-iWalk through source code management system's internal directories. (don't ignore
-bProcess binary files. (don't ignore
-nDisabling backups. (By default the modified files' originals will be saved with the
-NEnable file name filtering. For example:
-N '*.cpp' -N '*.h'
-PEnable parallelism. For example:
-P 4processes the files in 4 thread. (Supported only in fast mode.)
-hHelp. Displays this page.
By default only a subset of rules are enabled (around 100). You can enable more rules with the following options:
-uEnabling less safe rules. (Manual revise's need will be more probable.) (Around ten rules.)
-gEnabling rules to convert British English to US English. (These rules aren't exactly typos but sometimes they can be useful.) (Around ten rules.)
-REnabling rare rules. (Few hundred rules.)
-VEnabling very rare rules. (Mostly from the wikipedia article.) (More than four thousand rules.)
The processing speed decreases as you activate more rules.
By default nothing important will happen
$ misspell_fixer.sh target
What you can track with -v
$ misspell_fixer.sh -v target
A real usage:
$ misspell_fixer.sh -r -v target
Show only the diff, don't modify the files:
$ misspell_fixer.sh -s -v target
Show everything and fix the files:
$ misspell_fixer.sh -r -s -v target
Fast mode example:
$ misspell_fixer.sh -r -f -n target
Fast mode example with mass processing:
$ misspell_fixer.sh -frnR -P4 target
It is based on the following sources for common misspellings:
- xargs (for parallelism)
Feel free to use!