git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-gui: Automatically spell check commit messages as the user types

From
Shawn O. Pearce <spearce@spearce.org>
Date
Feb 4, 2008, 09:03 UTC
Message-ID
<20080204090318.GL24004@spearce.org>
In-Reply-To
<5ED970B8-0196-4616-8968-6788B803EA7F@wincent.com>
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.
Previous: Wincent ColaiutaNext: Jakub Narebski
Message 3 of 5 in “git-gui: Automatically spell check commit messages as the user types”
  1. git-gui: Automatically spell check commit messages as the user typesShawn O. Pearce, Feb 4, 2008
  2. Wincent ColaiutaFeb 4, 2008
  3. Shawn O. PearceFeb 4, 2008
  4. Jakub NarebskiFeb 4, 2008
  5. Adam FlottFeb 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.