The spell check programs employed must support the so-called Ispell
pipe interface activated via command line option -a. In
addition to the programs, suitable dictionaries need to be available.
See http://aspell.net,
http://hunspell.sourceforge.net/ and
http://lasr.cs.ucla.edu/geoff/ispell.html, respectively, for
obtaining the Aspell, Hunspell and (International) Ispell programs and
dictionaries.
The currently available built-in filters are "Rd"
(corresponding to RdTextFilter
), "Sweave"
(corresponding to SweaveTeXFilter
), "R"
,
"pot"
and "dcf"
.
Filter "R"
is for R code and extracts the message string
constants in calls to message
, warning
,
stop
, packageStartupMessage
,
gettext
, gettextf
, and
ngettext
(the unnamed string constants for the first
five, and fmt
and msg1
/msg2
string constants,
respectively, for the latter two).
Filter "pot"
is for message string catalog .pot
files.
Both have an argument ignore
allowing to give regular
expressions for parts of message strings to be ignored for spell
checking: e.g., using "[ \t]'[^']*'[ \t[:punct:]]"
ignores all
text inside single quotes.
Filter "dcf"
is for files in Debian Control File format.
The fields to keep can be controlled by argument keep
(a
character vector with the respective field names). By default,
Title and Description fields are kept.
The print method for the objects returned by aspell
has an
indent
argument controlling the indentation of the positions of
possibly mis-spelled words. The default is 2; Emacs users may find it
useful to use an indentation of 0 and visit output in grep-mode. It
also has a verbose
argument: when this is true, suggestions for
replacements are shown as well.
It is possible to employ additional R level dictionaries. Currently,
these are files with extension .rds
obtained by serializing
character vectors of word lists using saveRDS
. If such
dictionaries are employed, they are combined into a single word list
file which is then used as the spell checker's personal dictionary
(option -p): hence, the default personal dictionary is not
used in this case.