Re: [PATCH] git-gui: Automatically spell check commit messages as the user types
Wincent Colaiuta <win@wincent.com> wrote:
Show 10 quoted lines
> 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.