* Adding spell checker to GIT
@ 2006-12-05 16:05 Deepak Barua
2006-12-05 16:12 ` Jakub Narebski
` (4 more replies)
0 siblings, 5 replies; 17+ messages in thread
From: Deepak Barua @ 2006-12-05 16:05 UTC (permalink / raw)
To: git
Hi All,
I am just thought of a idea to integrate a spell checker with
git so that when we check in the code the code comments are spell
checked before being put into the tree,maybe have a optimized
dictionary search.
what about this...? is it appropriate ...?
Regards
Deepak
--
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2006-12-05 16:05 Deepak Barua
@ 2006-12-05 16:12 ` Jakub Narebski
2006-12-05 16:13 ` Johannes Schindelin
` (3 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Jakub Narebski @ 2006-12-05 16:12 UTC (permalink / raw)
To: git
Deepak Barua wrote:
> Hi All,
> I am just thought of a idea to integrate a spell checker with
> git so that when we check in the code the code comments are spell
> checked before being put into the tree,maybe have a optimized
> dictionary search.
> what about this...? is it appropriate ...?
As an example pre-commit/commit-msg hook? Take for example distributed
with git example of pre-commit hook ensuring that patch is whitespace
clean, and commit-msg hook which removes duplicated signoff lines.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2006-12-05 16:05 Deepak Barua
2006-12-05 16:12 ` Jakub Narebski
@ 2006-12-05 16:13 ` Johannes Schindelin
2006-12-05 16:39 ` Deepak Barua
` (2 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Johannes Schindelin @ 2006-12-05 16:13 UTC (permalink / raw)
To: Deepak Barua; +Cc: git
Hi,
On Tue, 5 Dec 2006, Deepak Barua wrote:
> I am just thought of a idea to integrate a spell checker with git so
> that when we check in the code the code comments are spell checked
> before being put into the tree,maybe have a optimized dictionary search.
I think the best idea would be to put this into the pre-commit hook.
Hth,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Adding spell checker to GIT
2006-12-05 16:05 Deepak Barua
2006-12-05 16:12 ` Jakub Narebski
2006-12-05 16:13 ` Johannes Schindelin
@ 2006-12-05 16:39 ` Deepak Barua
2006-12-05 17:08 ` Andreas Ericsson
[not found] ` <200612051726.kB5HQO2t015777@laptop13.inf.utfsm.cl>
4 siblings, 0 replies; 17+ messages in thread
From: Deepak Barua @ 2006-12-05 16:39 UTC (permalink / raw)
To: git
Hi Jakub & Johannes,
Thank you for your help i will consider
the precommit-hook.
Regards
Deepak
---------- Forwarded message ----------
From: Deepak Barua <dbbarua@gmail.com>
Date: Dec 5, 2006 9:35 PM
Subject: Adding spell checker to GIT
To: git@vger.kernel.org
Hi All,
I am just thought of a idea to integrate a spell checker with
git so that when we check in the code the code comments are spell
checked before being put into the tree,maybe have a optimized
dictionary search.
what about this...? is it appropriate ...?
Regards
Deepak
--
Code Code Code Away
--
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2006-12-05 16:05 Deepak Barua
` (2 preceding siblings ...)
2006-12-05 16:39 ` Deepak Barua
@ 2006-12-05 17:08 ` Andreas Ericsson
[not found] ` <200612051726.kB5HQO2t015777@laptop13.inf.utfsm.cl>
4 siblings, 0 replies; 17+ messages in thread
From: Andreas Ericsson @ 2006-12-05 17:08 UTC (permalink / raw)
To: Deepak Barua; +Cc: git
Deepak Barua wrote:
> Hi All,
> I am just thought of a idea to integrate a spell checker with
> git so that when we check in the code the code comments are spell
> checked before being put into the tree,maybe have a optimized
> dictionary search.
> what about this...? is it appropriate ...?
>
Sounds like a worthy project for a pre-commit hook, imo.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
[not found] ` <200612051726.kB5HQO2t015777@laptop13.inf.utfsm.cl>
@ 2006-12-12 19:51 ` Deepak Barua
2006-12-12 20:27 ` Johannes Schindelin
0 siblings, 1 reply; 17+ messages in thread
From: Deepak Barua @ 2006-12-12 19:51 UTC (permalink / raw)
To: Horst H. von Brand; +Cc: git
Hi Mr Brand,
what you are suggesting seems fine to me but the
thing is should i write a GIT plugin where cani get info to write
one...?
Regards
Deepak
On 12/5/06, Horst H. von Brand <vonbrand@inf.utfsm.cl> wrote:
> Deepak Barua <dbbarua@gmail.com> wrote:
> > I am just thought of a idea to integrate a spell checker with
> > git so that when we check in the code the code comments are spell
> > checked before being put into the tree,maybe have a optimized
> > dictionary search.
> > what about this...? is it appropriate ...?
>
> An external tool that spellchecks your code would certainly be nice, but
> I'd vote against integrating it into git (or any other tool for that
> matter). git doesn't care if what is being saved is C code, Malebolge, or a
> collection of dirty pictures. And that is 100% fine with me. Don't kill
> this, it is one of the fundamental Unix strengths.
> --
> Dr. Horst H. von Brand User #22616 counter.li.org
> Departamento de Informatica Fono: +56 32 2654431
> Universidad Tecnica Federico Santa Maria +56 32 2654239
> Casilla 110-V, Valparaiso, Chile Fax: +56 32 2797513
>
>
--
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2006-12-12 19:51 ` Deepak Barua
@ 2006-12-12 20:27 ` Johannes Schindelin
[not found] ` <d22d265a0612130103o1efcbd87sb93be9c2dad71307@mail.gmail.com>
0 siblings, 1 reply; 17+ messages in thread
From: Johannes Schindelin @ 2006-12-12 20:27 UTC (permalink / raw)
To: Deepak Barua; +Cc: Horst H. von Brand, git
Hi,
On Wed, 13 Dec 2006, Deepak Barua wrote:
> what you are suggesting seems fine to me but the
> thing is should i write a GIT plugin where cani get info to write
> one...?
For a start, you might want to read Documentation/hooks.txt. Then you want
to inspect templates/hooks--pre-commit.
Hth,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
[not found] ` <d22d265a0612130103o1efcbd87sb93be9c2dad71307@mail.gmail.com>
@ 2006-12-13 10:25 ` Johannes Schindelin
0 siblings, 0 replies; 17+ messages in thread
From: Johannes Schindelin @ 2006-12-13 10:25 UTC (permalink / raw)
To: Sasikumar Kandhasamy; +Cc: Deepak Barua, git
Hi,
On Wed, 13 Dec 2006, Sasikumar Kandhasamy wrote:
> We all know that linux is already having some tool like *aspell*. But
> this is not present in all the versions. This is one major disadvantage
> of using existing tool.
The advantage is: It already solved most problems for that particular
application, like getting all the words for the languages, providing a
user interface which actually helps using it, organizing the data
structures.
Besides, aspell is open source, just like Git. You can compile and install
it.
Hth,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Adding spell checker to GIT
@ 2006-12-26 12:02 Deepak Barua
0 siblings, 0 replies; 17+ messages in thread
From: Deepak Barua @ 2006-12-26 12:02 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 229 bytes --]
Hi All,
I just need some more help on how to check the file in
concerned in the pre commit hook , i have attached a document which
containes the basic perl code i am going to use.
Regards
Deepak
--
Code Code Code Away
[-- Attachment #2: test --]
[-- Type: application/octet-stream, Size: 705 bytes --]
#!/usr/bin/perl -w
#Spell checking script in perl for GIT source tracker program.
#Should be part of pre-commit hook
use Text::Aspell;
my $filename;
my $continue = 0;
open($filename,"./checker.sh") or die "Could not open file";
my $speller = Text::Aspell->new;
die unless $speller;
while(<$filename>) {
if(m/\/\*/ || $continue == 1) {
@words = split / /,$_;
foreach $word (@words) {
if($word eq "*/") {
$continue = 0;
last;
}
else {
print $speller->check($word)
? "$word found\n"
: "$word not fouund \n";
}
$continue = 1;
}
}
next;
}
close $filename;
^ permalink raw reply [flat|nested] 17+ messages in thread
* Adding spell checker to GIT
@ 2007-01-04 20:46 Deepak Barua
2007-01-05 20:49 ` Johannes Schindelin
0 siblings, 1 reply; 17+ messages in thread
From: Deepak Barua @ 2007-01-04 20:46 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 314 bytes --]
Hi All,
I and sasikumar have designed and built a spell checker into
the pre-commit hook, could someone please test it and give us your
comments.
Just add the file with same name pre-commit hook to .git/hooks
directory in your git project and make it executable.
Regards
Deepak
--
Code Code Code Away
[-- Attachment #2: pre-commit --]
[-- Type: application/octet-stream, Size: 4184 bytes --]
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by git-commit with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, make this file executable.
# This is slightly modified from Andrew Morton's Perfect Patch.
# Lines you introduce should not have trailing whitespace.
# Also check for an indentation that has SP before a TAB.
# Added Spell Checking Code to the existing code
# By Deepak Barua and Sasikumar Kandhasamy
if git-rev-parse --verify HEAD 2>/dev/null
then
git-diff-index -p -M --cached HEAD
else
# NEEDSWORK: we should produce a diff with an empty tree here
# if we want to do the same verification for the initial import.
:
fi |
perl -e '
# Adding the Aspell module to the perl script need aspell-dev installed in machine for the same
use Text::Aspell;
my $found_bad = 0;
my $filename;
my $reported_filename = "";
my $lineno;
my $continue = 0;
my $start_pattern = "";
my $end_pattern = "";
my $chosen_pattern = "";
my $match_condition = 0;
# Finding the file name extension
sub find_ext {
if($_[0] =~ /\.cc|\.java/) {
$start_pattern = qr!/\*|// !;
}
elsif($_[0] =~ /\.c|\.h/) {
$start_pattern = qr!/\*!;
}
else {
$start_pattern = qr!\# !;
$end_pattern = qq!\014!;
}
}
sub bad_line {
my ($why, $line) = @_;
if (!$found_bad) {
print STDERR "*\n";
print STDERR "* You have some suspicious patch lines:\n";
print STDERR "*\n";
$found_bad = 1;
}
if ($reported_filename ne $filename) {
print STDERR "* In $filename\n";
$reported_filename = $filename;
}
print STDERR "* $why (line $lineno)\n";
print STDERR "$filename:$lineno:$line\n";
}
# Created a spell checker instance
my $speller = Text::Aspell->new;
die unless $speller;
while (<>) {
if (m|^diff --git a/(.*) b/\1$|) {
$filename = $1;
find_ext($filename); # Calling the file extension finding function
next;
}
if (/^@@ -\S+ \+(\d+)/) {
$lineno = $1 - 1;
next;
}
if (/^ /) {
$lineno++;
next;
}
if (s/^\+//) {
$lineno++;
s/\n/ \014 /; # Substituting the newline in the file with junk octal character so chomp would not remove it
chomp;
# Main match condition for the start of the comment lines
if(($match_condition = m/($start_pattern)/) || $continue == 1) {
# Condition checking for not continuing comment and new comment pattern is matched
($continue != 1 && $match_condition == 1) ? $chosen_pattern = $+ : "Continue Pattern";
# Condition checking for not continuing comment and no new comment pattern is found
($continue != 1 && $match_condition != 1) ? $chosen_pattern = "" : "Continue Pattern";
# If chosen pattern is as specified then the corresponding end pattern is assigned
$chosen_pattern eq qq!/\*! ? $end_pattern=qq!\*/! : "End Pattern Not Found" ;
$chosen_pattern eq qq!//! ? $end_pattern=qq!\014! : "End Pattern Not Found" ;
# Split the line to individual words
@words = split / /,$_;
foreach $word (@words) {
# Check to see if end is reached
if($word eq $end_pattern) {
$continue=0;
$chosen_pattern="";
$end_pattern="";
last;
}
# Skip the start pattern
elsif($word eq $chosen_pattern) {
next;
}
# Perform spell checking for the selected word
else {
$speller->check($word)
? "Found"
: bad_line("\"$word\" spelling wrong"," ");
}
$continue = 1;
}
}
s/ \014 / /; # Substituting the junk octal with a space
# Continuation of the old code in pre-commit
if (/\s$/) {
bad_line("trailing whitespace", $_);
}
if (/^\s* /) {
bad_line("indent SP followed by a TAB", $_);
}
if (/^(?:[<>=]){7}/) {
bad_line("unresolved merge conflict", $_);
}
}
}
exit($found_bad);
'
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-04 20:46 Deepak Barua
@ 2007-01-05 20:49 ` Johannes Schindelin
2007-01-06 3:21 ` Deepak Barua
0 siblings, 1 reply; 17+ messages in thread
From: Johannes Schindelin @ 2007-01-05 20:49 UTC (permalink / raw)
To: Deepak Barua; +Cc: git
Hi,
On Fri, 5 Jan 2007, Deepak Barua wrote:
> I and sasikumar have designed and built a spell checker into
> the pre-commit hook, could someone please test it and give us your
> comments.
It's a rather big chunk of code, and it is in perl, so I'd rather put it
in another file, but oh well.
There are a few remaining problems, and I don't even know if the second
can be solved:
- you miss "//" comments,
- if the diff is only about a small part of a comment, you do not spell
check that
- you do not spell check literal messages (i.e. printf("No such fiel!"))
Ciao,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-05 20:49 ` Johannes Schindelin
@ 2007-01-06 3:21 ` Deepak Barua
2007-01-16 16:10 ` Johannes Schindelin
0 siblings, 1 reply; 17+ messages in thread
From: Deepak Barua @ 2007-01-06 3:21 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Hi Johannes,
I spell check "//" comments in
in find_ext()
if($_[0] =~ /\.cc|\.java/) {
$start_pattern = qr!\s/\*\s|\s//\s!;
}
and
$chosen_pattern eq qq!\s//\s! ? $end_pattern=qq!\s\014\s! : "End
Pattern Not Found" ;
Also yes i didnt include to use spell checking in string literals , i
thought that would be irregular and cumbersome.
Could you please test the code then i can include it in a seperate file ..?
Regards
Deepak
On 1/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Fri, 5 Jan 2007, Deepak Barua wrote:
>
> > I and sasikumar have designed and built a spell checker into
> > the pre-commit hook, could someone please test it and give us your
> > comments.
>
> It's a rather big chunk of code, and it is in perl, so I'd rather put it
> in another file, but oh well.
>
> There are a few remaining problems, and I don't even know if the second
> can be solved:
>
> - you miss "//" comments,
> - if the diff is only about a small part of a comment, you do not spell
> check that
> - you do not spell check literal messages (i.e. printf("No such fiel!"))
>
> Ciao,
> Dscho
>
>
--
Code Code Code Away
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-06 3:21 ` Deepak Barua
@ 2007-01-16 16:10 ` Johannes Schindelin
2007-01-16 17:34 ` Deepak Barua
0 siblings, 1 reply; 17+ messages in thread
From: Johannes Schindelin @ 2007-01-16 16:10 UTC (permalink / raw)
To: Deepak Barua; +Cc: git
Hi,
On Sat, 6 Jan 2007, Deepak Barua wrote:
> Hi Johannes,
> I spell check "//" comments in
> in find_ext()
>
> if($_[0] =~ /\.cc|\.java/) {
>
> $start_pattern = qr!\s/\*\s|\s//\s!;
> }
>
> and
>
> $chosen_pattern eq qq!\s//\s! ? $end_pattern=qq!\s\014\s! : "End
> Pattern Not Found" ;
>
> Also yes i didnt include to use spell checking in string literals , i
> thought that would be irregular and cumbersome.
>
> Could you please test the code then i can include it in a seperate file ..?
Sorry, I am a little bit stressed at the moment... And I don't have the
required dependencies installed.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-16 16:10 ` Johannes Schindelin
@ 2007-01-16 17:34 ` Deepak Barua
2007-01-25 14:36 ` Deepak Barua
0 siblings, 1 reply; 17+ messages in thread
From: Deepak Barua @ 2007-01-16 17:34 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Hi Johannes,
It's okay take your time and suggest any changes and
teach me how to make this code into a proper patch.
Regards
Deepak
On 1/16/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Sat, 6 Jan 2007, Deepak Barua wrote:
>
> > Hi Johannes,
> > I spell check "//" comments in
> > in find_ext()
> >
> > if($_[0] =~ /\.cc|\.java/) {
> >
> > $start_pattern = qr!\s/\*\s|\s//\s!;
> > }
> >
> > and
> >
> > $chosen_pattern eq qq!\s//\s! ? $end_pattern=qq!\s\014\s! : "End
> > Pattern Not Found" ;
> >
> > Also yes i didnt include to use spell checking in string literals , i
> > thought that would be irregular and cumbersome.
> >
> > Could you please test the code then i can include it in a seperate file ..?
>
> Sorry, I am a little bit stressed at the moment... And I don't have the
> required dependencies installed.
>
> Ciao,
> Dscho
>
>
--
Code Code Code Away
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-16 17:34 ` Deepak Barua
@ 2007-01-25 14:36 ` Deepak Barua
2007-01-25 16:46 ` Johannes Schindelin
0 siblings, 1 reply; 17+ messages in thread
From: Deepak Barua @ 2007-01-25 14:36 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Hi Johannes,
What about the spell checker...?
Regards
Deepak
On 1/16/07, Deepak Barua <dbbarua@gmail.com> wrote:
> Hi Johannes,
> It's okay take your time and suggest any changes and
> teach me how to make this code into a proper patch.
>
> Regards
> Deepak
>
> On 1/16/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Hi,
> >
> > On Sat, 6 Jan 2007, Deepak Barua wrote:
> >
> > > Hi Johannes,
> > > I spell check "//" comments in
> > > in find_ext()
> > >
> > > if($_[0] =~ /\.cc|\.java/) {
> > >
> > > $start_pattern = qr!\s/\*\s|\s//\s!;
> > > }
> > >
> > > and
> > >
> > > $chosen_pattern eq qq!\s//\s! ? $end_pattern=qq!\s\014\s! : "End
> > > Pattern Not Found" ;
> > >
> > > Also yes i didnt include to use spell checking in string literals , i
> > > thought that would be irregular and cumbersome.
> > >
> > > Could you please test the code then i can include it in a seperate file ..?
> >
> > Sorry, I am a little bit stressed at the moment... And I don't have the
> > required dependencies installed.
> >
> > Ciao,
> > Dscho
> >
> >
>
>
> --
> Code Code Code Away
>
--
Code Code Code Away
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-25 14:36 ` Deepak Barua
@ 2007-01-25 16:46 ` Johannes Schindelin
2007-01-26 7:22 ` Deepak Barua
0 siblings, 1 reply; 17+ messages in thread
From: Johannes Schindelin @ 2007-01-25 16:46 UTC (permalink / raw)
To: Deepak Barua; +Cc: git
Hi,
On Thu, 25 Jan 2007, Deepak Barua wrote:
> What about the spell checker...?
Sorry, time is scarce these days. (And I can't do it on the machines I am
right now working on, since I may not install perl packages.)
Ciao,
Dscho
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Adding spell checker to GIT
2007-01-25 16:46 ` Johannes Schindelin
@ 2007-01-26 7:22 ` Deepak Barua
0 siblings, 0 replies; 17+ messages in thread
From: Deepak Barua @ 2007-01-26 7:22 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Hi Johannes,
cold you atleast tell me how to make it a patch so
i can officially submit it and others can test it ...?
Regards
Deepak
On 1/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Thu, 25 Jan 2007, Deepak Barua wrote:
>
> > What about the spell checker...?
>
> Sorry, time is scarce these days. (And I can't do it on the machines I am
> right now working on, since I may not install perl packages.)
>
> Ciao,
> Dscho
>
>
--
Code Code Code Away
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-01-26 7:22 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-26 12:02 Adding spell checker to GIT Deepak Barua
-- strict thread matches above, loose matches on Subject: below --
2007-01-04 20:46 Deepak Barua
2007-01-05 20:49 ` Johannes Schindelin
2007-01-06 3:21 ` Deepak Barua
2007-01-16 16:10 ` Johannes Schindelin
2007-01-16 17:34 ` Deepak Barua
2007-01-25 14:36 ` Deepak Barua
2007-01-25 16:46 ` Johannes Schindelin
2007-01-26 7:22 ` Deepak Barua
2006-12-05 16:05 Deepak Barua
2006-12-05 16:12 ` Jakub Narebski
2006-12-05 16:13 ` Johannes Schindelin
2006-12-05 16:39 ` Deepak Barua
2006-12-05 17:08 ` Andreas Ericsson
[not found] ` <200612051726.kB5HQO2t015777@laptop13.inf.utfsm.cl>
2006-12-12 19:51 ` Deepak Barua
2006-12-12 20:27 ` Johannes Schindelin
[not found] ` <d22d265a0612130103o1efcbd87sb93be9c2dad71307@mail.gmail.com>
2006-12-13 10:25 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).