Spell CheckingThe Spell minor mode makes Epsilon highlight misspelled words as you edit.
First configure spell checking by running the spell-configure command. The first time you run it, it will download and install a set of dictionary files into the "spell" subdirectory of your customization directory. (See https://www.lugaru.com/spell.html if you need to download it manually.) Then it will ask your region (American, Canadian, British, or British with -ize spellings preferred) and other questions like dictionary size. (A larger dictionary means rarer words won't be marked as potential misspellings, but it will miss those misspellings that happen to result in rare words.) To start, just choose default options for each question.
Use the spell-mode command to make Epsilon highlight misspelled words in the current mode. The command toggles highlighting; a numeric prefix argument forces it on (if nonzero) or off (if zero). "Sp" in the mode line indicates Spell minor mode is on. Use the buffer-spell-mode command instead if you want Epsilon to only highlight misspelled words in the current buffer.
Epsilon remembers whether you want spell checking in a particular mode
using a variable like html-spell-options, whose name is derived
from the mode name. If a mode has no associated variable, Epsilon
uses the default-spell-options variable. Each variable
contains bits to further customize spelling rules for that mode. The
spell-correct command can suggest replacements for a misspelled
word. It can also record a word in an ignore list so Epsilon no
longer highlights it as a misspelling. Epsilon maintains a global
ignore list named
Epsilon also checks
directory-specific, file-specific, and mode-specific ignore lists.
When checking a file named
All these files contain one word per line. Epsilon automatically sorts ignore list files when it uses them. (Epsilon can optionally use extension-specific ignore lists too. By default this is disabled for simplicity. See the global-spell-options variable.)
The spell-buffer-or-region command performs spell checking for the current buffer, going to each misspelled word in turn and asking if you want to correct it or ignore it. With a highlighted region it checks just that region.
The spell-correct command presents a list of suggestions.
Epsilon can generate these in several different ways. The default
method uses the installed dictionary files. A faster, less
accurate, but still self-contained method is available by setting a
bit in the current
Epsilon can also run an external program to provide suggestions; this is generally very fast and produces the best suggestions. The spell-configure command configures this. It sets up Epsilon to use aspell or the older ispell, two free command line spelling programs often installed on Unix systems. It can also set up Epsilon to use MicroSpell, a commercial spell checking program for Windows systems available from http://www.microspell.com, by installing a helper program mspellcmd.exe into its directory. In Epsilon for macOS, it can also use the Mac's native spelling engine, though this is not available when you run Epsilon for macOS over a network connection from another computer.
Customizing Spell Checking
Epsilon looks for words to be checked using a regular expression pattern. In modes without syntax highlighting, it uses the pattern in the default-spell-word-pattern variable. In modes with syntax highlighting, it uses default-color-spell-word-pattern.
This latter pattern makes Epsilon ignore words based on their syntax
highlighting color class, so that it skips over language keywords,
variable names, and so forth. It checks words only if the mode colors
them using a color class whose name ends in
You can define a replacement spell check pattern for any mode by
creating a variable whose name is the mode name followed by
A mode can make the speller ignore words based on adjacent text, in
addition to using color class assertions. Create a variable whose
name is the mode's name followed by
A mode can define an alternative set of dictionaries and ignore files
by setting the buffer-specific spell_language_prefix
variable. Set it to a suffix like "