Document the spell command, add an optional paramater that sets the language against which the check will be performed

This commit is contained in:
Frank LENORMAND 2016-01-24 11:05:21 +02:00
parent 99b4dc9929
commit f209bfb4f7

View File

@ -1,7 +1,7 @@
decl -hidden range-faces spell_regions decl -hidden range-faces spell_regions
decl -hidden str spell_tmp_file decl -hidden str spell_tmp_file
def spell %{ def -params ..1 spell -docstring "Check spelling of the current buffer with aspell (the first optional argument is the language against which the check will be performed)" %{
try %{ addhl ranges 'spell_regions' } try %{ addhl ranges 'spell_regions' }
%sh{ %sh{
file=$(mktemp -d -t kak-spell.XXXXXXXX)/buffer file=$(mktemp -d -t kak-spell.XXXXXXXX)/buffer
@ -9,8 +9,17 @@ def spell %{
echo "set buffer spell_tmp_file ${file}" echo "set buffer spell_tmp_file ${file}"
} }
%sh{ %sh{
if [ $# -ge 1 ]; then
if [ ${#1} -ne 2 -a ${#1} -ne 5 ]; then
echo "echo -color Error Invalid language code (examples of expected format: en, en_US, en-US)"
rm -r $(dirname $kak_opt_spell_tmp_file)
exit 1
else
options="-l $1"
fi
fi
sed -i 's/^/^/' $kak_opt_spell_tmp_file sed -i 's/^/^/' $kak_opt_spell_tmp_file
aspell -a < $kak_opt_spell_tmp_file 2>&1 | { aspell -a $options < $kak_opt_spell_tmp_file 2>&1 | {
line_num=1 line_num=1
regions=$kak_timestamp regions=$kak_timestamp
while read line; do while read line; do