README
CodeMirror Spell Checker
Spell checking so simple, you can set up in 60 seconds. It will highlight any misspelled words in light red. Works great in conjunction with other CodeMirror modes, like GitHub Flavored Markdown.
Fork
This is a fork of sparksuite's codemirror-spell-checker.
Added fixes:
- Numbers aren't treated as spelling error.
- 27D isn't treated as a spelling error (for 27 dimensions).
- Switch to
hunspell-en_US-large
dictionary via NPM package hunspell-dict-en-us
Install
Via npm.
npm install @biscuitpants/codemirror-spell-checker --save
Via bower.
bower install @biscuitpants/codemirror-spell-checker --save
Via jsDelivr. Please note, jsDelivr may take a few days to update to the latest release.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@biscuitpants/codemirror-spell-checker/latest/spell-checker.min.css">
<script src="https://cdn.jsdelivr.net/npm/@biscuitpants/codemirror-spell-checker/latest/spell-checker.min.js"></script>
Quick start
Once CodeMirror is installed and loaded, first provide CodeMirror Spell Checker with the correct CodeMirror function. Then, just set the primary mode to "spell-checker"
and the backdrop mode to your desired mode. Be sure to load/require overlay.min.js
if you haven't already.
CodeMirrorSpellChecker({
codeMirrorInstance: CodeMirror,
});
CodeMirror.fromTextArea(document.getElementById("textarea"), {
mode: "spell-checker",
backdrop: "gfm" // Your desired mode
});
That's it!
Customizing
You can customize the misspelled word appearance by updating the CSS. All misspelled words will have the .cm-spell-error
class.
.CodeMirror .cm-spell-error{
/* Your styling here */
}
Dictionaries
Dictionaries are loaded from here.
Configuration
- customWords: Custom array of words (or function that returns an array) that will not be treated as misspelled. Defaults to an empty array.
- ignoreRegex: Custom regex to check if a matched word should be ignored. Defaults to
/[0-9'_-]+/
- wordRegex: Custom regex to match on words to be checked against the dictionary. Defaults to
/^[^!"#$%&()*+,\-./:;<=>?@[\\\]^_
{|}~\s]+/` - onDictionaryLoad: Function to run once the dictionaries have been loaded into memory.
- dictionaryLanguage: String name of dictionary to use. Supported dictionaries can be found here.
- commentStart: String that denotes the start of a comment line. Spelling will be ignored for comments.
// Most options demonstrate the non-default behavior
CodeMirrorSpellChecker({
codeMirrorInstance: CodeMirror,
customWords: ["CodeMirror", "GitHub"],
});
customWords
can be both an Array of strings or a function that returns an Array of strings.
CodeMirrorSpellChecker({
codeMirrorInstance: CodeMirror,
customWords: function() { return ["NPM", "Javascript"]; },
});