Add error handling

Rewrite line by line to make escaping easier
This commit is contained in:
Jan-Jaap Korpershoek 2020-04-27 12:28:29 +02:00
parent 246735520f
commit 063a702bf4

View File

@ -151,7 +151,7 @@ define-command \
define-command -params 0.. \ define-command -params 0.. \
-docstring "Add the current selection to the dictionary" \ -docstring "Add the current selection to the dictionary" \
spell-add %{ nop %sh{ spell-add %{ evaluate-commands %sh{
if [ -n "$kak_opt_spell_last_lang" ]; then if [ -n "$kak_opt_spell_last_lang" ]; then
options="-l '$kak_opt_spell_last_lang'" options="-l '$kak_opt_spell_last_lang'"
fi fi
@ -159,10 +159,12 @@ define-command -params 0.. \
# use selections # use selections
eval set -- "$kak_quoted_selections" eval set -- "$kak_quoted_selections"
fi fi
words=""
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
words="$words"$(printf '*%s\\n#\\n' "$1") word="$1"
if ! printf '*%s\n#\n' "${word}" | eval "aspell -a $options" >/dev/null; then
printf 'fail "Unable to add word: %s"' "$(printf %s "${word}" | sed 's/"/&&/g')"
exit 1
fi
shift shift
done done
printf %b\\n "$words" | eval "aspell -a $options"
}} }}