diff --git a/README.md b/README.md
index 5b68af0..6b5c23b 100644
--- a/README.md
+++ b/README.md
@@ -51,13 +51,13 @@ Usage of misspell:
-f string
'csv', 'sqlite3' or custom Golang template for output
-i string
- ignore the following corrections, comma separated
+ ignore the following corrections, comma-separated
-j int
Number of workers, 0 = number of CPUs
-legal
Show legal information and exit
-locale string
- Correct spellings using locale perferances for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'
+ Correct spellings using locale perferences for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'
-o string
output file or [stderr|stdout|] (default "stdout")
-q Do not emit misspelling output
@@ -141,7 +141,7 @@ or
find . -type f | xargs misspell
```
-You can select a type of file as well. The following examples selects all `.txt` files that are *not* in the `vendor` directory:
+You can select a type of file as well. The following example selects all `.txt` files that are *not* in the `vendor` directory:
```bash
find . -type f -name '*.txt' | grep -v vendor/ | xargs misspell -error
@@ -185,9 +185,9 @@ on the command line. Conversely, you can check a golang source as if it were
pure text by using `-source=text`. You might want to do this since many
variable names have misspellings in them!
-### Can I check only-comments in other other programming languages?
+### Can I check only-comments in other programming languages?
-I'm told the using `-source=go` works well for ruby, javascript, java, c and
+I'm told the using `-source=go` works well for ruby, javascript, java, c, and
c++.
It doesn't work well for python and bash.
@@ -299,13 +299,13 @@ To just print probable misspellings:
### What problem does this solve?
This corrects commonly misspelled English words in computer source
-code, and other text-based formats (`.txt`, `.md`, etc).
+code, and other text-based formats (`.txt`, `.md`, etc.).
It is designed to run quickly so it can be
used as a [pre-commit hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
with minimal burden on the developer.
-It does not work with binary formats (e.g. Word, etc).
+It does not work with binary formats (e.g. Word, etc.).
It is not a complete spell-checking program nor a grammar checker.
@@ -322,7 +322,7 @@ They all work but had problems that prevented me from using them at scale:
* slow, all of the above check one misspelling at a time (i.e. linear) using regexps
* not MIT/Apache2 licensed (or equivalent)
-* have dependencies that don't work for me (python3, bash, linux sed, etc)
+* have dependencies that don't work for me (python3, bash, GNU sed, etc.)
* don't understand American vs. British English and sometimes makes unwelcome "corrections"
That said, they might be perfect for you and many have more features
@@ -336,11 +336,11 @@ should be able to check and correct 1000 files in under 250ms.
This uses the mighty power of golang's
[strings.Replacer](https://golang.org/pkg/strings/#Replacer) which is
-a implementation or variation of the
+an implementation or variation of the
[Aho–Corasick algorithm](https://en.wikipedia.org/wiki/Aho–Corasick_algorithm).
This makes multiple substring matches *simultaneously*.
-In addition this uses multiple CPU cores to work on multiple files.
+It also uses multiple CPU cores to work on multiple files concurrently.
### What problems does it have?
@@ -366,10 +366,10 @@ Thanks!
### Why is it making mistakes or missing items in golang files?
The matching function is *case-sensitive*, so variable names that are multiple
-worlds either in all-upper or all-lower case sometimes can cause false
-positives. For instance a variable named `bodyreader` could trigger a false
+worlds either in all-uppercase or all-lowercase sometimes can cause false
+positives. For instance, a variable named `bodyreader` could trigger a false
positive since `yrea` is in the middle that could be corrected to `year`.
-Other problems happen if the variable name uses a English contraction that
+Other problems happen if the variable name uses an English contraction that
should use an apostrophe. The best way of fixing this is to use the
[Effective Go naming
conventions](https://golang.org/doc/effective_go.html#mixed-caps) and use
@@ -382,7 +382,7 @@ can check your code using [golint](https://github.com/golang/lint)
The main code is [MIT](https://github.com/client9/misspell/blob/master/LICENSE).
Misspell also makes uses of the Golang standard library and contains a modified version of Golang's [strings.Replacer](https://golang.org/pkg/strings/#Replacer)
-which are covered under a [BSD License](https://github.com/golang/go/blob/master/LICENSE). Type `misspell -legal` for more details or see [legal.go](https://github.com/client9/misspell/blob/master/legal.go)
+which is covered under a [BSD License](https://github.com/golang/go/blob/master/LICENSE). Type `misspell -legal` for more details or see [legal.go](https://github.com/client9/misspell/blob/master/legal.go)
### Where do the word lists come from?
@@ -390,7 +390,7 @@ which are covered under a [BSD License](https://github.com/golang/go/blob/master
It started with a word list from
[Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines).
Unfortunately, this list had to be highly edited as many of the words are
-obsolete or based from mistakes on mechanical typewriters (I'm guessing).
+obsolete or based on mistakes on mechanical typewriters (I'm guessing).
Additional words were added based on actually mistakes seen in
the wild (meaning self-generated).
@@ -407,7 +407,7 @@ English, so "what is American or not" is subject to opinion. Corrections and he
### What are some other enhancements that could be done?
-Here's some ideas for enhancements:
+Here are some ideas for enhancements:
*Capitalization of proper nouns* could be done (e.g. weekday and month names, country names, language names)
@@ -418,7 +418,7 @@ locale would correct "advisor" to "adviser".
*Versioning* Some type of versioning is needed so reporting mistakes and errors is easier.
-*Feedback* Mistakes would be sent to some server for agregation and feedback review.
+*Feedback* Mistakes would be sent to some server for aggregation and feedback review.
*Contractions and Apostrophes* This would optionally correct "isnt" to
"isn't", etc.
diff --git a/cmd/misspell/main.go b/cmd/misspell/main.go
index 174d79d..11972ca 100644
--- a/cmd/misspell/main.go
+++ b/cmd/misspell/main.go
@@ -105,8 +105,8 @@ func main() {
quietFlag = flag.Bool("q", false, "Do not emit misspelling output")
outFlag = flag.String("o", "stdout", "output file or [stderr|stdout|]")
format = flag.String("f", "", "'csv', 'sqlite3' or custom Golang template for output")
- ignores = flag.String("i", "", "ignore the following corrections, comma separated")
- locale = flag.String("locale", "", "Correct spellings using locale perferances for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'")
+ ignores = flag.String("i", "", "ignore the following corrections, comma-separated")
+ locale = flag.String("locale", "", "Correct spellings using locale perferences for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'")
mode = flag.String("source", "auto", "Source mode: auto=guess, go=golang source, text=plain or markdown-like text")
debugFlag = flag.Bool("debug", false, "Debug matching, very slow")
exitError = flag.Bool("error", false, "Exit with 2 if misspelling found")