diff --git a/.config/kak/autoload/repl.kak b/.config/kak/autoload/repl.kak index 88d1a191..e2c70b9b 100644 --- a/.config/kak/autoload/repl.kak +++ b/.config/kak/autoload/repl.kak @@ -3,14 +3,22 @@ provide-module repl %∴ new %{ edit -scratch; set buffer filetype kak } } define-command execute-selection %{ - execute-keys -draft -save-regs 'y:edit -scratchR' - eval %sh{ - echo "exec -draft " - tempdir="$(mktemp -d kak-repl.XXXXXX)" - mkfifo "${tempdir}/fifo" - } - evaluate-commands -save-regs | %{ - set-register | "sed 's/define-command/define-command -override/g'" + evaluate-commands -draft -save-regs 'a|' %{ + execute-keys '"ay' + edit -scratch + execute-keys '"aR' + set-register | %{ + awk -v cmds="define-command|declare-option" ' + $0 ~ cmds { + if ($0 !~ /-override/) { + sub(/(foo-bar|define-command)/, "& -override") + } + } + { print } + ' + } + execute-keys '%|%:.' + delete-buffer } } ∴