*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