add English spellcheck goodie with suggestions

master
Michael Smith 2012-06-16 13:09:31 -06:00
parent bb8a18eebc
commit 830c78005a
2 changed files with 21 additions and 0 deletions

View File

@ -30,6 +30,7 @@ Convert::Color::Library = 0.03
Math::Round = 0.06
Convert::Morse = 0.05
Net::IDN::Encode = 2.003
Text::Aspell = 0.09
[Prereqs / TestRequires]
Test::More = 0.98

20
lib/DDG/Goodie/Spell.pm Normal file
View File

@ -0,0 +1,20 @@
package DDG::Goodie::Spell;
use DDG::Goodie;
use Text::Aspell;
triggers start => "spell", "how to spell", "how do i spell", "spellcheck";
my $speller = Text::Aspell->new;
$speller->set_option('lang','en_US');
$speller->set_option('sug-mode','fast');
handle remainder => sub {
return unless /^[\w']+$/; # only accept letters and ' (aspell handles contractions)
my $correct = $speller->check($_) ? "'\u$_' appears to be spelled right!" : "'\u$_' does not appear to be spelled correctly.";
my @suggestions = $speller->suggest($_);
my $sug = @suggestions ? "Suggestions: " . join(', ', @suggestions[0..5]) : "No suggestions.";
return "$correct $sug", html => "$correct<br/>$sug";
};
1;