Skip to content

Update README.md #66

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,15 @@ If a word is not found in the dictionaries, we try two additional checks.

The script can also process other file types. With the **'--suffix'**
option, the following file types are available: Python (.py), C/C++
(.c/.cxx), Text (.txt), reStructuredText(.rst), Markdown (.md), Ruby (.ruby),
and Java (.java). Note that reStructuredText files are treated as standard
text. Consequentially, all markup keywords that are not actual words will
need to be added to the additional/exception dictionary.
(.c/.cxx), CSharp (.cs), Text (.txt), reStructuredText(.rst), Markdown (.md),
Ruby (.ruby), R (.R), and Java (.java). Note that reStructuredText files are
treated as standard text. Consequentially, all markup keywords that are not
actual words will need to be added to the additional/exception dictionary.

## Dictionary notes

By default, on Linux and Mac systems, pyenchant uses [GNU aspell](http://aspell.net/)
as the underlying dictionary. The spell checking is case sensitive. While
aspell allows arbitrary characters in a dictionary word, CSC may split up
a word by non-alphanumeric characters. This split can occur if the word
itself is not found in the dictionary.
We use [PySpellChecker](https://github.com/barrust/pyspellchecker) for our
underlying dictionary. Previously we used different package that required an
underlying C library, which was not available on all platforms.
PySpellChecker is pure Python and works on all platforms.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this describes the relevant changes. Primary change is in underlying spellchecker, with a secondary change in the default dictionary. Proposed language:

We use PySpellChecker as the underlying spellchecker and its associated default dictionary. Previously we used the pyenchant package and its default dictionary. The pyenchant package requires an underlying C library, which is not available on all platforms. PySpellChecker is a pure Python package and works on all platforms with no additional dependencies.


If a dictionary word has non-alphanumeric characters, CSC prints a warning.