Merge remote-tracking branch 'Screwtapello/spell-replace-prompt' into master

This commit is contained in:
Maxime Coste 2020-09-22 21:26:22 +10:00
commit c6bfce0350

View File

@ -142,20 +142,27 @@ define-command spell-next %{ evaluate-commands %sh{
define-command \
-docstring "Suggest replacement words for the current selection, against the last language used by the spell-check command" \
spell-replace %{ evaluate-commands %sh{
options=""
if [ -n "$kak_opt_spell_last_lang" ]; then
options="-l '$kak_opt_spell_last_lang'"
fi
suggestions=$(printf %s "$kak_selection" | eval "aspell -a $options" | grep '^&' | cut -d: -f2)
menu=$(printf %s "${suggestions#?}" | awk -F', ' '
{
for (i=1; i<=NF; i++)
printf "%s", "%{"$i"}" "%{execute-keys -itersel %{c"$i"<esc>be}}"
spell-replace %{
prompt \
-init %val{selection} \
-shell-script-candidates %{
options=""
if [ -n "$kak_opt_spell_last_lang" ]; then
options="-l '$kak_opt_spell_last_lang'"
fi
printf %s "$kak_selection" |
eval "aspell -a $options" |
sed -n -e '/^&/ { s/^[^:]*: //; s/, /\n/g; p }'
} \
"Replace with: " \
%{
evaluate-commands -save-regs a %{
set-register a %val{text}
execute-keys c <c-r>a <esc>
}
}
')
printf 'try %%{ menu -auto-single %s }' "${menu}"
} }
}
define-command -params 0.. \
-docstring "Add the current selection to the dictionary" \