Added multiword support.
This commit is contained in:
parent
9d6aef731e
commit
253ffaafda
1 changed files with 24 additions and 12 deletions
|
@ -7,21 +7,33 @@ locale = "en_US"
|
|||
@hook.command
|
||||
def spell(inp):
|
||||
"""spell <word> -- Check spelling of <word>."""
|
||||
|
||||
if ' ' in inp:
|
||||
return "This command only supports one word at a time."
|
||||
|
||||
words = inp.split(" ")
|
||||
if words[0] == "":
|
||||
words = []
|
||||
if not enchant.dict_exists(locale):
|
||||
return "Could not find dictionary: {}".format(locale)
|
||||
|
||||
dictionary = enchant.Dict(locale)
|
||||
is_correct = dictionary.check(inp)
|
||||
suggestions = dictionary.suggest(inp)
|
||||
s_string = ', '.join(suggestions[:10])
|
||||
|
||||
if len(words) > 1:
|
||||
out = []
|
||||
for x in words:
|
||||
is_correct = dictionary.check(x)
|
||||
suggestions = dictionary.suggest(x)
|
||||
s_string = '/'.join(suggestions[:2])
|
||||
if is_correct:
|
||||
out.append(x)
|
||||
else:
|
||||
out.append('\x02'+s_string+'\x02')
|
||||
return " ".join(out)
|
||||
else:
|
||||
is_correct = dictionary.check(words[0])
|
||||
suggestions = dictionary.suggest(words[0])
|
||||
s_string = ', '.join(suggestions[:10])
|
||||
if is_correct:
|
||||
return '"{}" appears to be \x02valid\x02! ' \
|
||||
'(suggestions: {})'.format(inp, s_string)
|
||||
else:
|
||||
return '"{}" appears to be \x02invalid\x02! ' \
|
||||
'(suggestions: {})'.format(inp, s_string)
|
||||
|
||||
|
|
Reference in a new issue