diff --git a/rc/windowing/kitty.kak b/rc/windowing/kitty.kak index 954af045..d847f863 100644 --- a/rc/windowing/kitty.kak +++ b/rc/windowing/kitty.kak @@ -41,30 +41,8 @@ If no client is passed then the current one is used' \ } } -define-command kitty-repl -params .. -shell-completion -docstring ' -kitty-repl []: create a new window for repl interaction -All optional parameters are forwarded to the new window' \ -%{ - nop %sh{ - if [ $# -eq 0 ]; then - cmd="${SHELL:-/bin/sh}" - else - cmd="$*" - fi - kitty @ new-window --no-response --window-type $kak_opt_kitty_window_type --title kak_repl_window --cwd "$PWD" $cmd < /dev/null > /dev/null 2>&1 & - } -} - -define-command kitty-send-text -docstring "send the selected text to the repl window" %{ - nop %sh{ - kitty @ send-text -m=title:kak_repl_window "${kak_selection}" - } -} - alias global terminal kitty-terminal alias global terminal-tab kitty-terminal-tab alias global focus kitty-focus -alias global repl kitty-repl -alias global send-text kitty-send-text } diff --git a/rc/windowing/repl/kitty.kak b/rc/windowing/repl/kitty.kak new file mode 100644 index 00000000..6a1aa69b --- /dev/null +++ b/rc/windowing/repl/kitty.kak @@ -0,0 +1,44 @@ +hook global ModuleLoaded kitty %{ + require-module kitty-repl +} + +provide-module kitty-repl %{ + +define-command -params .. -shell-completion \ + -docstring %{ + kitty-repl []: Create a new window for repl interaction. + + All optional parameters are forwarded to the new window. + } \ + kitty-repl %{ + nop %sh{ + if [ $# -eq 0 ]; then + cmd="${SHELL:-/bin/sh}" + else + cmd="$*" + fi + kitty @ new-window --no-response --window-type $kak_opt_kitty_window_type --title kak_repl_window --cwd "$PWD" $cmd < /dev/null > /dev/null 2>&1 & + } +} + +define-command -hidden -params 0..1 \ + -docstring %{ + kitty-send-text [text]: Send text to the REPL window. + + If no text is passed, the selection is used. + } \ + kitty-send-text %{ + nop %sh{ + if [ $# -eq 0 ]; then + text="$kak_selection" + else + text="$1" + fi + kitty @ send-text -m=title:kak_repl_window "$text" + } +} + +alias global repl kitty-repl +alias global send-text kitty-send-text + +}