From: Shawn O. Pearce Date: Mon, 04 Feb 2008 09:03:18 GMT Subject: Re: [PATCH] git-gui: Automatically spell check commit messages as the user types Message-ID: <20080204090318.GL24004@spearce.org> In-Reply-To: <5ED970B8-0196-4616-8968-6788B803EA7F@wincent.com> Wincent Colaiuta wrote: > El 4/2/2008, a las 9:41, Shawn O. Pearce escribió: > > Rather than sending off the text to be spellchecked at intervals, > couldn't you refrain from sending it when the cursor hasn't yet moved > past a word boundary? This is what most "check spelling as you type > implementations do". > > eg. If you type "spellnig" and leave the cursor immediately after the > "g", the word won't be highlighted until you hit space or otherwise > cause the cursor to move beyond the word boundary. Indeed, that's brillant. Something like this on top would work: diff --git a/lib/spellcheck.tcl b/lib/spellcheck.tcl index c032725..088812d 100644 --- a/lib/spellcheck.tcl +++ b/lib/spellcheck.tcl @@ -71,6 +71,14 @@ proc spellcheck_commit_buffer {} { SPELL_i SPELL_sent SPELL_last \ SPELL_fd SPELL_line SPELL_suggest + if {![regexp {^\W$} [$ui_comm get {insert -1c} insert]]} { + $ui_comm tag remove misspelled \ + {insert -1c wordstart} \ + {insert -1c wordend} + set SPELL_i [after 300 spellcheck_commit_buffer] + return + } + set buf [$ui_comm get 1.0 end] if {$buf ne $SPELL_sent && $buf eq $SPELL_last} { foreach line [split $buf "\n"] { -- Shawn.