*engspchk.txt* English Spelling Checker Oct 16, 2012
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
(elide NOSPAM from my email before using)
Copyright: (c) 2004-2012 by Charles E. Campbell *engspchk-copyright*
The VIM LICENSE applies to engspchk.vim and engspchk.txt
(see |copyright|) except use "engspchk" instead of "Vim"
No warranty, express or implied. Use At-Your-Own-Risk.
==============================================================================
1. Contents *engspchk* *engspchk-contents*
1. Contents...................................: |engspchk-contents|
2. English Spelling Checker Manual............: |engspchk-manual|
2.1 Getting Started Under Unix.............: |engspchk-start|
2.2 Getting Started Under Win32............: |engspchk-win32|
2.3 Variables Controlling Usage............: |engspchk-var|
g:spchkaltright..........................: |spchkaltright|
g:spchkacronym...........................: |spchkacronym|
g:cvimsyn................................: |cvimsyn|
g:DrChipTopLvlMenu.......................: |DrChipTopLvlMenu|
g:spchkautonext..........................: |spchkautonext|
g:spchkdialect...........................: |spchkdialect|
g:spchklang..............................: |spchklang|
g:spchknonhl.............................: |spchknonhl|
g:spchkmouse.............................: |spchkmouse|
g:spchkpunc..............................: |spchkpunc|
g:spchksilent............................: |spchksilent|
g:spchkhlgroups..........................: |spchkhlgroups|
2.4 Using Engspchk.........................: |engspchk-use|
2.5 Click-N-Fix Maps.......................: |engspchk-clicknfix|
2.6 Maps For Alternatives Window Only......: |engspchk-alt|
2.7 Commands...............................: |engspchk-cmd|
2.8 Usage..................................: |engspchk-usage|
2.9 Filetype Enabled Engspchk..............: |engspchk-mail|
2.10 Checking Spelling In Comments.........: |engspchk-comment|
2.11 Engspchk Dictionaries.................: |engspchk-dict|
3. More Languages.............................: |engspchk-language|
3.1 Creating A New Version of Engspchk.....: |engspchk-newversion|
3.2 Current Language Support...............: |engspchk-curlang|
3.3 Earlier Language Support...............: |engspchk-earlylang|
4. History....................................: |engspchk-history|
==============================================================================
2. English Spelling Checker Manual *engspchk-manual*
2.1 GETTING STARTED UNDER UNIX *engspchk-start*
1. Put <engspchk.tar.bz2> into your .vim directory
2. bunzip2 engspchk.tar.bz2
mv engspchk.tar $HOME/.vim
cd $HOME/.vim
tar -oxvf engspchk.tar
(optional) rm engspchk.tar
3. Put into your <.vimrc>:
set nocp
if version >= 600
filetype plugin indent on
endif
4. Obtain agrep (see |engspchk-alt| for where to get it)
Put it into your path (see |engspchk-clicknfix|)
5. For Click-N-Fix:
* Put into your <.vimrc>:
set mouse=n (or set mouse=a)
let g:spchkmouse = 1
let g:spchkautonext= 1
let g:spchkdialect = "usa" (or "can" or "uk")
* Get agrep if you don't already have it (see |engspchk-agrep|)
* use <leftmouse> in text window to go to the next spelling error
irrespective of where the mouse was (allows one to skip over
spelling errors)
* use <leftmouse> in the alternative spelling window to choose
the correct spelling and fix the word
* use <middlemouse> in text window to go to next spelling error
based on where the mouse is
* use <rightmouse> in text window to back up to the preceding
spelling error
* use <rightmouse> in the alternative spelling window to fix all
such misspelled words
6. vim somefile (typical, you may have to modify the path used)
:helptags $HOME/.vim/doc
\ec (engspchk's startup map)
\en (jump to next spelling error)
\ee (end engspchk)
7. If you want the alternate-spellings window on the right hand side,
let g:spchkaltright=20 (or some other number specifying the
quantity of columns to use)
8. If you're spellchecking English, choose a dialect:
g:spchkdialect = "usa" United States
= "uk" United Kingdom
= "can" Canadian
2.2 GETTING STARTED UNDER WINDOWS *engspchk-win32*
1. Download <engspchk.tar.bz2>
2. Rename the downloaded file as needed to: engspchk.tar.bz2
(some Win32 tools rename the file, substituting
underscores for periods, adding .php suffix, etc)
3. Get at least the following two windows tools if you don't
already have them from http://gnuwin32.sourceforge.net/packages.html
bzip2
tar
4. dos : move tarball to "somewhere"\vimfiles
cygwin: move tarball to "somewhere"/vimfiles
change directory to that directory
("somewhere" is the path where you want these files to go)
5. bzip2 -d engspchk.tar.bz2
tar -oxvf engspchk.tar
(optional) delete engspchk.tar
6. Generate help tags:
vim
:helptags somewhere/vimfiles/doc
where "somewhere" is the path used in step 4
7. Put into your <.vimrc>:
set nocp
if version >= 600
filetype plugin indent on
endif
8. For Click-N-Fix:
* right click on the icon you're using to start
dos, cygwin, and/or gvim:
Select Properties:Options
Turn QuickEdit off
* Put into your <.vimrc>:
set mouse=n (or set mouse=a)
let g:spchkmouse = 1
let g:spchkautonext= 1
let g:spchkdialect = "usa" (or "can" or "uk")
* Get agrep if you don't already have it (see |engspchk-agrep|)
* use <leftmouse> in text window to go to the next spelling error
irrespective of where the mouse was (allows one to skip over
spelling errors)
* use <leftmouse> in the alternative spelling window to choose
the correct spelling and fix the word
* use <middlemouse> in text window to go to next spelling error
based on where the mouse is
* use <rightmouse> in text window to back up to the preceding
spelling error
* use <rightmouse> in the alternative spelling window to fix all
such misspelled words
9. vim somefile
\ec (engspchk's startup map)
\en (jump to next spelling error)
\ee (end engspchk)
10. If you want the alternate-spellings window on the right hand side,
let g:spchkaltright=20 (or some other number specifying the
quantity of columns to use)
11. If you're spellchecking English, choose a dialect:
g:spchkdialect = "usa" United States
= "uk" United Kingdom
= "can" Canadian
2.3 VARIABLES CONTROLLING USAGE *engspchk-var* *engspchk-variable*
*engspchk-variables* *engspchk-options*
*spchkaltright*
g:spchkaltright=width : If this variable exists and holds a value
greater than zero, then the alternate spellings window will
be placed on the far right with "width" columns. Typically
this takes more screen space but usually allows display of
more alternate spellings.
*spchkacronym*
g:spchkacronym: If this variable exists, then two or more capital
letters will not highlight as a spelling error; instead such a
word will be assumed to be an acronym.
*cvimsyn*
g:cvimsyn : If this vim variable is set, then it is expected to hold
the path to the user word dictionary and database, nominally
<engspchk.dict> and <engspchk.usr>. If it doesn't exist, then
engspchk will consider using a system environment variable called
CVIMSYN (see below); and then search along the runtimepath.
Frequently the runtimepath search is adequate, but if your
CVIMSYN directory with dictionaries isn't on that path, you
should set g:cvimsyn (or use the CVIMSYN environment variable).
For example, under a Windows operating system, one might
have in one's <.vimrc> file: >
let g:cvimsyn= 'c:\vim\vimfiles\CVIMSYN'
< or >
let g:cvimsyn= 'c:\vim\vimfiles\plugin\CVIMSYN'
< Note the use of single quotes! If you use double-quotes,
ie. '"', you'll also need to double up the backslashes.
Under Unix/Linux, one might have >
let g:cvimsyn= expand('${HOME}/.vim/CVIMSYN')
< or >
let g:cvimsyn= expand('${HOME}/.vim/plugin/CVIMSYN')
<
CVIMSYN : (a system environment variable) points to a directory
holding the dictionary and the user word database <engspchk.usr>.
The optional file <engspchk.wb>, which contains words from
Webster's 1913 Dictionary that aren't in <engspchk.dict> itself,
if present in the CVIMSYN directory, will also be loaded.
If the dictionary files cannot be found using g:cvimsyn or
$CVIMSYN, then <engspchk> will search all the paths specified by
the runtimepath (to see your runtimepath, :echo &rtp) for a
subdirectory called CVIMSYN which holds the dictionaries.
*DrChipTopLvlMenu*
g:DrChipTopLvlMenu: by default its "DrChip"; you may set this to
whatever you like in your <.vimrc>. This variable controls
where engspchk's menu items are placed.
*spchkautonext*
g:spchkautonext =0: no new behavior
=1: \es and \et (and \ea, if a word is selected) will
automatically advance the cursor to the next
spelling error. (also needed for Click-N-Fix)
*spchkdialect*
g:spchkdialect = "usa" United States
= "uk" United Kingdom
= "can" Canadian
This variable allows the user to specify the dialect he or she
prefers: color vs. colour, etc. Alternate dialect spellings
are flagged with Warning colors.
*spchklang*
g:spchklang : specifies which language/dictionaries are to be used.
By default it will be the prefix of the <---spchk.vim> file
(engspchk.vim -> eng, gerspchk.vim -> ger, frspchk.vim -> fr,
etc). You may override that with a different prefix in your
<.vimrc>. When you load <engspchk.vim> (via \ec) the prefix will
be used to load the dictionaries: <engspchk.dict>, <engspchk.usr>,
<gerspchk.dict>, <gerspchk.usr>, etc.
For example, one may put into one's <.vimrc> file:
let g:spchklang= "eng" (will load <engspchk.dict>)
let g:spchklang= "fr" (will load <frspchk.dict>)
let g:spchklang= "ger" (will load <gerspchk.dict>)
let g:spchklang= "span" (will load <spanspchk.dict>)
etc.
*spchkmouse*
g:spchkmouse =0 : default
=1 : include mouse maps. These mouse maps are optional
because mouse maps are popular and obviously can
interfere with other plugins' use of them.
*spchknonhl*
g:spchknonhl : if it exists, forces application of engspchk to all
non-syntax-highlighted text.
*spchkpunc*
g:spchkpunc =0 : no new behavior
=1 : check for some simple English punctuation problems
non-capitalized word after ellipse (... a)
non-capitalized word after sentence ending
character ([.?!])
*spchksilent*
g:spchksilent =0 : informative messages are allowed
=1 : Sourcing... and Loading... messages are suppressed
*spchkhlgroups*
BadWord : a highlighting group rather than a variable,
words flagged as "BadWord" show up using the
Error highlighting group.
Default: black foreground on red background.
Dialect : a highlighting group rather than a variable,
words flagged as "Dialect" show up using this
group.
Default: black foreground on yellow background.
If you wish to have dialect words show up as
Error, see \ed under |engspchk-maps|.
RareWord : a highlighting group rather than a variable,
words flagged as "RareWord" show up using this
group.
Default: black foreground on cyan background.
If you wish to have rare words show up as Error,
see \er under |engspchk-maps|.
*engspchk-maps*
2.4 USING ENGSPCHK *engspchk-use* *engspchk-using* *engspchk-map*
Although the maps as discussed here show a backslash, the actual
maps for 6.0 and above use <Leader> (ie. see :help mapleader for more)
which allows you to customize the map leader character sequence. By
default, of course, the <Leader> is a backslash.
*engspchk-ea* *engspchk-ec* *engspchk-ed*
*engspchk-ee* *engspchk-en* *engspchk-ep*
*engspchk-er*
\ea : look for alternative spellings of word under cursor
\ec : engspchk's startup map (loads engspchk and dictionaries)
\ed : toggles between Dialect<>Error highlighting for dialect words
\ee : end engspchk
\en : move cursor to the next spelling error
\ep : move cursor to the previous spelling error
\er : toggles between RareWord<>Error highlighting for rare words
*engspchk-es* *engspchk-eS*
\es : save word under cursor into user dictionary (permanently)
\et : add word under cursor into user dictionary (temporarily)
\eS : remove word under cursor from user dictionary (permanently)
\eT : remove word under cursor from user dictionary (temporarily)
*engspchk-ej* *engspchk-eJ*
\ej : save word under cursor into proj dictionary (permanently)
\eJ : remove word under cursor from proj dictionary (permanently)
*engspchk-ev* *engspchk-eV*
\ev : restrict spell checking to a visual-block selected
region of text. Use V, v, or ctrl-v, then press \ev
\eV : turn visual-block spell-checking off
2.5 Click-N-Fix Maps *engspchk-clicknfix*
To enable Click-N-Fix, your mouse must be enabled (ex. :set
mouse=n). In addition, there are several variables that
you'll want to set:
set mouse=n (or set mouse=a)
let g:spchkmouse = 1 (enables spchk use of mouse)
let g:spchkautonext= 1 (automates going to next misspelling)
let g:spchkdialect = "usa" (or "can" or "uk")
Unfortunately not all console terminals' mouse handling
will let Vim see the mouse events. See :he mouse for more on
this topic. To make the mouse work under Windows, see
|engspchk-win32| and |win32-mouse|.
When the mouse is in...
The Text Window Alternative Spellings
------------------------- ---------------------
<leftmouse> Moves cursor to next Selects the alternate
spelling error, doesn't spelling and uses it
matter where the mouse is. for just the one
misspelling.
<middlemouse> Moves cursor to next Enter word temporarily
spelling error based into dictionary (\et),
on current position of then skip to next
mouse. spelling error.
<rightmouse> Moves cursor to previous Selects the alternate
spelling error, doesn't spelling and uses it for
matter where the mouse is. all such misspelled words
The \es map will store <engspchk.usr> in the directory where
<engspchk.dict> is. To do so it must be able to find the directory;
ie. typically g:cvimsyn must be set to the correct path or the
environment variable CVIMSYN must be appropriately set. For vim 6.0
or later, the CVIMSYN directory under the first directory in the
|'runtimepath'| may be used.
The \et map adds the word under the cursor into the spelling
database only for the current session. It acts by adding
the word to the GoodWord keyword list but doesn't save the
word to the user's <engspchk.usr> database. The \es map
both adds the word to the GoodWord keyword list and adds
a line to the <engspchk.usr> database for future use.
The \eS and \eT maps remove words from the user's dictionary;
the \eS map's action is permanent (actually removes the word
from the <engspchk.usr> file) whereas the \eT map affects only
the current session.
The \ej and \eJ maps add/remove words from the user's project
dictionary, which allows one to customize a dictionary for a
specific project (the <engspchk.proj> dictionary normally
resides in the current directory).
The \ee map ends the engspchk operation by turning syntax off
and then turning it back on, which should do automatic filetype
detection, etc. Engspchk now saves any previous mappings that
would conflict with engspchk and restores them when engspchk is
ended.
2.6 MAPS FOR ALTERNATIVES WINDOW ONLY *engspchk-alt*
<cr> : when on alternatives line, will put word under cursor in
misspelled word's stead
<tab> : like <cr>, but also does a global substitute to change
all instances of the misspelled word to the selected
alternate.
: : will quit the alternate-word window
q : will quit the alternate-word window
<c-w>c : will quit the alternate-word window
*engspchk-agrep*
In order to generate alternative spellings engspchk uses agrep.
Source code for agrep can be found at:
Windows binaries:
http://www.tgries.de/agrep/#DOWNLOAD
Source:
ftp://ftp.cs.arizona.edu/agrep/agrep-2.04.tar.Z
http:///www2.cddc.vt.edu/linux/utils/text/agrep-2.04.tar.Z
To use this feature, assuming one has an agrep executable, put the
cursor on a misspelled word, then type "\ea". A list of alternative
spellings will appear on one line on the bottom of the screen. Use
regular vim motions to put the cursor on the word that you want and
hit the <return> key. This action should put the new word in the
stead of the misspelled word. A ":q" will abort the alternative-word
spellings window.
Engspchk will build a list of words from its dictionaries, including
the user's wordlist. It will separate them with __END_..._DICTIONARY__
lines, thus making it simple for folks to remove unwanted portions
the of the wordlist.
2.7 COMMANDS *engspchk-cmd* *engspchk-com* *engspchk-command*
Engspchk checks your ${CVIMSYN} directory and constructs commands to
start up engspchk using the appropriate dictionary for each such
language. If, for example, you happen to have a Russian (Rus) and
a Spanish (Span) dictionary, Engspchk will construct two commands:
:Russpchk and :Spanspchk. Unless you delete the <engspchk.dict>
dictionary, you're likely to have :Engspchk, too.
2.8 USAGE *engspchk-usage*
Press "\ec" or select "Load Engspchk" from the menu (gvim). This will
finish loading <engspchk.vim>, load <engspchk.dict>, and optionally
load <engspchk.wb> (if present) and <engspchk.usr> (if present).
Spelling errors will then show up in Error highlighting. Of course
you'll need to have "syntax on" for this to work (put that statement
into your <.vimrc> if it isn't already there!).
If you come across a word that's mistakenly highlighted as a
spelling error, put the cursor on it and tap "\et" or "\es" while in
Normal mode.
The first command will inform Engspchk that the word is spelled
right, but only for the duration of this particular session. If you
want the word to be permanently remembered, use the second command
"\es" (for engspchk save).
To go to the next or previous spelling error, use "\en" or "\ep"
commands respectively. If upon inspection of a word that's spelled
incorrectly you're not sure of the correct spelling, you can use the
alternative spellings feature (see |engspchk-alt|).
Engspchk does _not_ do a "syntax clear", so that means that you can
usually just source it in on top of other highlighting.
Most syntax highlighting files, however, _do_ use "syntax clear" so
that means that resetting syntax (:set ft=..., changing buffers, etc)
will clear out engspchk. One way to avoid this is to use
:%d
:0r (filename)
The user dictionary <engspchk.usr> is generated in the directory
specified by path specified by the g:cvimsyn variable (or CVIMSYN
environment variable). Merely place the cursor on a word that's
currently not in your dictionary and press "\es".
2.9 FILETYPE ENABLED ENGSPCHK *engspchk-mail*
If you want to always use engspchk for spellchecking *.eml
files as mail:
a) put into (home)/.vim/filetype.vim:
au BufNewFile,BufReadPost *.eml setf mail
b) put into (home)/.vim/after/syntax/mail.vim:
if (expand("%") != "") && !&diff && (v:progname !~ "vimdiff")
normal \ec
endif
Similarly one may have engspchk immediately available for other
filetypes, too.
2.10 CHECKING SPELLING IN COMMENTS *engspchk-comment*
In order to spell-check comments in various computer languages, the
language's vim syntax file needs to have its comment syntax group
contain a cluster. Engspchk can then add itself to that cluster.
The vim syntax languages that currently support this include:
amiga c dcl latex tex
bash cpp fortran sh vim
bib csh ksh
If there's a language for which you'd like to have comments
spelling-checked that isn't on the above list, please contact that
vim syntax file's maintainer and ask for the support mentioned above.
2.11 ENGSPCHK DICTIONARIES *engspchk-dict*
Engspchk supports a number of dictionaries for a given language.
The language selected is controlled by
1. If g:spchklang exists, let it specify the language prefix
(see |spchklang|)
2. Use the name of the script, less "spchk.vim", as the
language prefix
Engspchk then loads a number of dictionary files for a given language.
Assuming that the language prefix is "eng":
engspchk.dict : the primary dictionary-list (GoodWords)
engspchk.dialect: a if-elseif chain based upon using
b:spchkdialect which loads a set of
GoodWords/Dialect-flagged words. The
engspchk.dialect file currently supports
"usa", "uk", and "can".
engspchk.match : this file is usually a set of GoodWord
"syntax-matches" (see |:syn-match|) that the
user has set up.
engspchk.proper : a dictionary-list of cities, people's names,
and any other "proper" names (GoodWords)
engspchk.rare : a dictionary-list of unusual/rare words
(these RareWords are highlighted differently)
engspchk.usr : a dictionary-list of words that the user
controls via maps (\es, \et, \eS, \eT)
(see |engspchk-es|)
engspchk.wordlist : this file is set up for agrep's benefit
to use for alternative-spellings support
(see |engspchk-alt|
Except for <engspchk.dict>, all engspchk's dictionaries are optional.
==============================================================================
3. More Languages *engspchk-language*
3.1 CREATING A NEW VERSION OF ENGSPCHK *engspchk-newversion*
The <engspchk.vim> file should be renamed to reflect the new language
being supported: ex. gerspchk.vim for German. The prefix (ie. "ger")
will be used in menus and for the user word database
(ie., gerspchk.usr).
Of course, the appropriate dictionary file (ie., gerspchk.dict) must
also be present in the CVIMSYN subdirectory.
3.2 CURRENT LANGUAGE SUPPORT *engspchk-curlang*
Engspchk now supports modelines which allow individual documents
to specify to engspchk/vim what language they're in. Furthermore,
by simply changing the name of engspchk.vim, one may make any
language the default language.
Check links under
http://www.drchip.org/astronaut/vim/index.html#vimlinks_scripts
for any of the following dictionaries:
Dutch : (utf8)
English : (latin1)
Galician
German : (latin1) (cp1252) (utf8)
Hungarian
Italian
Russian : (koi8)
Spanish
3.3 EARLIER LANGUAGE SUPPORT *engspchk-earlylang*
There are versions of this script for other languages. If you come
up with a version for another language, please let me know where on
the web it is so that I can help make it known. The following
versions were based on earlier editions of <engspchk.vim>:
Dutch : http://vim.sourceforge.net/tips/tip.php?tip_id=161
German : http://jeanluc-picard.de/vim/gerspchk/gerspchk.vim.gz
Hungarian: http://vim.sourceforge.net/scripts/script.php?script_id=22
Polish : http://strony.wp.pl/wp/kostoo/polspchk.tar.gz
Yiddish : http://www.cs.uky.edu/~raphael/yiddish/vim.tar.gz
==============================================================================
4. History *engspchk-history*
64 : Mar 03, 2006 * when filetype is mail, spell checking no
longer takes place in initial lines
Mar 07, 2006 * noremap setting now elicits a warning
Feb 29, 2008 * a bug in SpchkInCluster() was causing
vim errors when processing ft=mail
files -- fixed.
Feb 22, 2011 * for menus, &go =~# used to insure correct case
63 : Oct 24, 2005 * now includes CVIMSYN/engspchk.match
Dec 28, 2005 * now uses cecutil to save/restore user maps
Jan 03, 2006 * CVIMSYN now handles spaces in path
Jan 18, 2006 * cecutil now updated to use keepjumps
Jan 25, 2006 * "syntax<> doesn't support spell-checking"
message suppressed (occurred when &ft=="")
62 : Jul 12, 2005 * cpo workaround
* visual-block only spellchecking support
61 : Feb 14, 2005 * A check is now made for +clipboard before
attempting to clear it.
60 : Jan 07, 2005 * made a special-case for html to have spell
checking both in the @Spell cluster and
outside of it.
* before attempting to append/delete items from
the menubar, an additional check is made
that guioptions includes "m"
* added optional [lang]spchk.contraction loading
* moved English contractions to
<engspchk.contract> and cleared up a few
problems with contractions not being recognized
properly.
* b:spchk_incluster now can be used to override
the spell checking in/out/both of the @Spell
cluster
59 : Nov 10, 2004 * silenced all unmenu operations
* included more has("gui_running") tests for
menu handling
58 : Jun 18, 2004 * bugfix: modelines now have higher priority
than g:... settings
* bugfix: modelines with multiple settings weren't
being highlighted properly.
* :(lang)spchk commands for starting engspchk
now available with both gvim and vim; ie.
:Engspchk :Nlspchk :Spanspchk :Gerspchk
:Frspchk
The set of commands you get are based on which
dictionaries you have available in CVIMSYN.
* Saving/restoration of user maps wasn't complete
Thanks to Ezekiel Burke for pointing this out!
* Error messages are now followed by a
"Press <cr> to continue" message so they remain
visible
57 : Jun 16, 2004 * bugfix: (thanks to Sergey Markelov) variable-not
found message when mapleader not explicitly set
now eliminated
* \ev and \eV : enables spell checking just a
visual-block selection of text
56 : Jun 07, 2004 * \ej and \eJ : enables saving words to and from
engspchk.proj (engspchk's project support)
* loading colorschemes usually wiped out RareWord
and Dialect highlighting. A CursorHold autocmd
is now used to restore such highlighting.
* Usually (although not always), languages want
spellchecking confined to certain regions
(such as comments and strings). The latest
engspchk does that. However, the dictionaries
need to be changed to support the new feature.
The engspchk.dict, etc, already support such
changes, but you'll need to get new versions
of other dictionaries if you use them.
55 : Jun 07, 2004 * Uses "finish" where it used to "exit" in a
few places (better error handling)
* <syntax/mail.vim> has mailSubject contain
the @Spell cluster, which in turn caused
engspchk to assume only Subjects should be
spell checked. An exception is now made.
54 : May 25, 2004 * The "-" was removed from iskeyword for French
If it should be removed from other languages,
please let me know!
* Added <Plug> <unique> hasmapto() handling for
maps
* A bug with wordlist generation caused some
words to be dropped that should not have been.
Fixed. I suggest wiping out your old wordlist
files (cd $CVIMSYN ; rm *.wordlist) and engspchk
will regenerate them the next time they're
needed.
* Improved search for dictionaries
53 : May 25, 2004 * bugfix: gvim (nofile), :e somefile
was failing due to buffer-local
variables. Fixed
52 : May 21, 2004 * loads user dictionary last to give it
highest priority
51 : May 11, 2004 * Modified modeline handling so that only
supported options are accepted for modeline
handling
* A more robust decision process supports
determining when a leftmouse click means
go to the next spelling error or open
an alternates window on the current word
* gvim was behaving differently than vim
with HLTest() -- fixed
50 : May 11, 2004 * bugfixes: wordlist generation
* German exceptions (thanks to Sergey Markelov)
49 : May 10, 2004 * \er and \ed now cycle through three states
RareWord : gives notice of rare/unusual
word usage (default=black-on-cyan)
Error : enables SpchkNxt/Prv (and
click-n-fix) to jump to such words
(and apply alternate spelling
options)
(default=red-on-black)
No highlighting : allows user to ignore
such words.
* spchk: modelines supported; one may set
options such as
acronym cvimsyn mouse punc
altright dialect nonhl silent
autonext DrChipTopLvlMenu proj lang
* Alternate dictionaries now available for
all languages (ie. frspchk.proper,
spanspchk.usr, etc). Of course, someone
has to make them first! :)
* Alternate dictionary use now integrated into
the menus
48 : May 02, 2004 * bugfix: inadvertently left Dfunc(), Decho(), and
Dret() debugging enabled
47 : Apr 28, 2004 * bugfix: <engspchk.wordlist> generation somehow
stopped working. Fixed.
* colorschemes can define BadWord highlighting;
engspchk depends on it being Error highlighted.
Fixed
46 : Apr 20, 2004 * bugfix: clicknfix
(g:spchkautonext enabled)+rightmouse
+mouse in alternate-spelling window: cursor
went to next spelling error but didn't
automatically open the alternate-spellings
window. Fixed
* case now ignored for words from the rare and
dialect files
45 : Apr 19, 2004 * bugfix: Manual selection of an alternate
spelling left PreProc highlighting in
its wake. Fixed
* g:spchkaltright variable allows the
alternate-spellings window to be placed
on the right of the screen.
See |engspchk-variables|
44 : Apr 13, 2004: * Click'N'Fix button support improved -
see |engspchk-clicknfix| for details
* PreProc highlighting used to emphasize
which word currently selected for alternates
43 : Feb 18, 2004: * when mapleader wasn't the backslash, the
menus didn't invoke the functions properly
(problem reported by: Iouri Kloubakov) - fixed
* \ec \ee left RareWord submenu
(problem reported by: Iouri Kloubakov) - fixed
* help for engspchk improved for windows users
42 : Jan 22, 2004: * acronym support now moved from tex-only
to English. Non-English languages can
have this support if the variable
g:spchk_acronym exists.
41 : Dec 30, 2003: * DrChip menus now work with console-menus
(see |console-menus|)
40 : Nov 24, 2003: * buffers in which engspchk is active are now
made hidden to preserve engspchk highlighting.
* Upon \ee (ending engspchk), the previous
hidden setting is restored
* RareWord, Dialect added to @Spell cluster for
incomment=1,2
39 : Nov 04, 2003: * disabled removal/restoration of \ec menu entry
upon use of \ee
* b:engspchk_loaded now used to prevent
double-loading of engspchk and attempts to
remove engspchk from buffers where it hasn't
been loaded
* handles multiple windows/buffers
* g:spchknonhl forces spell-checking of
non-highlighted text
38 : Sep 02, 2003: * @Spell cluster utilized.
* Allow two or more sequential capitalized
letters to be ignored
(English only, acronym support).
* Yura Kloubakov's inclusion of the user's
mapleader in the DrChip menu and removal
of \ec after use
* Entered dozens of city names into
<engspchk.proper>
35 : Aug 11, 2003: * <engspchk.wb> merged into <engspchk.rare>
* restored dictionaries to 1000 words/line,
as that reduced <engspchk.rare>'s loading
time (from 27 sec to 6 sec on my machine)
34 : May 06, 2003: * checks for writable user dictionary
* supports dialect and rareword differentiation
33 : Mar 19, 2003: * saves/restores gdefault (sets to nogd when
needed)
32 : Mar 13, 2003: * consistency in use of <SID> vs s:
* included dialects, thanks to Thakker
31 : Mar 12, 2003: * works around "#" in isk for SpchkChgWord()
* SpchkEnd was missing s: prefix
30 : Mar 10, 2003: * restores undolevel if error detected during \ea
* includes SaveMap, \ee, bugfix for Macs with ffs,
<tab> action in alternate-word window,
left/right mouse actions.
* Thanks for ideas, bug reports, etc go to
Bill McCarthy and Peter Karp
29 : Nov 27, 2002: * checks "syntax_on" variable and will
error-message the user if syntax highlighting
isn't on
* Keeps and restores original settings that
were intended to be local to the alternatives
window anyway
28 : Nov 26, 2002: * dropped support for Vim versions 5.x
27 : Nov 21, 2002: * \eT map to make a word a BadWord
* \eS map to make a word a permanent BadWord
* g:spchkautonext implemented
26 : Nov 07, 2002: * \en and \ep were skipping over folds.
They now will delve into folds, opening
them only if there's a spelling error within
* Bug-fix: Alternative spellings now works for
two-letter words.
25 : Oct 03, 2002: Fixed bad bug (s:incomment code)
23 : Sep 11, 2002: * BadWord for English now same as non-English
* Improvement made to loading procedure:
one can let g:spchklang="..." then \ec
and get the desired dictionary loaded.
22 : Sep 10, 2002: * non-English languages' BadWord needed to be
extended to more characters than \a
21 : Aug 28, 2002: * removed spurious syn-case-ignore/match pair
20 : Aug 21, 2002: * removed a superfluous <unique>
* fixed \ea bug (invoking twice caused problem)
19 : Aug 16, 2002: * agrep-initialization bug fix
18 : Aug 05, 2002: * g:spchkpunc added (tnx to Steve Hall)
17 : Aug 02, 2002: * more documentation, small fix to menus for
non-English language support.
16 : Aug 02, 2002: * For vim6.0 or later, uses filereadable() to
check if <engspchk.vim> is readable (and
issues an error message if so)
15 : May 28, 2002: * Included has("menu") with menu tests
* <engspchk.dict> broken out to a separate file
* most norm changed to norm!
* Mats Bentsen : agrep's path now enclosed
in ".."s. Helps with Windows' directory names
with embedded spaces
* Renamed : usr_engspchk.vim -> engspchk.usr
* Renamed : wb1913_engspchk.vim -> engspchk.wb
v2.13 : Feb 27 2002 : * One line alternates window now disappears after
selection
v2.12 : Feb 26 2002 : * Building the one-word dictionary for \ea will
now include user dictionary words. The
building process has been speeded up by
temporarily turning syntax highlighting
off and undo levels to -1. Loading the
Webster's 1913 dictionary words has been
commented out because the words therein
are, in my humble opinion, typically arcane
and hence clutter up the alternatives window.
v2.11 : Feb 25 2002 : * included note that 6.0 alphas may not work right
(ie. 6.0z doesn't have <silent>) and engspchk
has no way to test for them.
v2.10 : Feb 20 2002 : * Included allowing g:cvimsyn to supercede
$CVIMSYN
* Engspchk now made into a quick-loading plugin
* Alternatives supports first-letter case
retention
v2.07 : Jul 17 2001 : * fix to missing CVIMSYN environment variable
message
v2.06 : Jul 16 2001 : * contains note about TK's "create" script
v2.04 : Mar 19 2001 : * \%# is back with 6.0y
v2.03 : Feb 26 2001 : * included automatic language detection/loading
v2.02 : Feb 13 2001 : * commented out \%#-using rule until CT gets it
working!
* Fixed some contractions whose root word got
into the main dictionary
* Fixed "extend", a new Vim syntax-related keyword
v2.01 : Feb 9 2001 : * includes <bib.vim> spell-checking
v2.00 : Feb 5 2001 : * For 6.0v or later: words will no longer flash
in Error as they're being typed.
Thank you Chase Tingley for \%# !
v1.28 : Jan 29 2001 : * shortened SpchkNxt and SpchkPrv
(thanks, Benji Fisher!)
v1.27 : Jan 29 2001 : * includes using agrep and \ea for alternative
spelling
v1.26 : Jan 25 2001 : * removed a number of two-letter abbreviations
and "ain" from the dictionary (more leftovers
from ispell)
v1.25 : Jan 22 2001 : * included 12000 more words from various online
dictionaries
* I've also culled out a few misspellings that
crept in from the original ispell dictionary
that was used.
v1.24 : Nov 1 2000 : * included optional <engspchk2.vim> sourcing
v1.22 : Oct 3 2000 : * added "transparent" keyword to all GoodWords
v1.20 : Sep 18 2000 : * engspchk now saves using vim functions,
avoiding any external program entanglements for
versions 5.2 or later
v1.19 : Apr 7 2000 : * more contractions and words: couldn't've, etc.
v1.18 : Mar 28 2000 : * included words from spelling bee and other
dictionaries
* included "didn't" contraction, removed
"didn didnt"
v1.17 : Aug 12 1999 : * the epoch
==============================================================================
vim:tw=78:ts=8:ft=help