diff --git a/.config/kak/autoload/util.kak b/.config/kak/autoload/util.kak index 97eb7d07..c1657701 100644 --- a/.config/kak/autoload/util.kak +++ b/.config/kak/autoload/util.kak @@ -18,12 +18,20 @@ define-command -params 2 \ -docstring %{ Swap all occurence of param A with param B in selections. } \ -sedswap %{ +swap %{ evaluate-commands -save-regs | %{ set-register | %exp{ - sed "s/%arg{1}/__FOOTOKEN__/; \ - s/%arg{2}/%arg{1}/; s/__FOOTOKEN__/%arg{2}/" + sed "s/%arg{1}/𝅙/; \ + s/%arg{2}/%arg{1}/; s/𝅙/%arg{2}/" } execute-keys '|' } } + +define-command regswap -params 2 %{ + evaluate-commands -draft -save-regs "abcd" %{ + set-register a %arg{1} + set-register b %arg{2} + execute-keys -draft '"xZZs\Qa\E"cZzs\Qb\E"dZ"cz"bR"dz"aRz' + } +}