28 lines
810 B
Text
28 lines
810 B
Text
define-command -docstring %{
|
|
shell-command [switches] <args>: Run the given shell command. Display
|
|
its output in an info modal.
|
|
Switches:
|
|
-d echo stdout to *debug* buffer as well
|
|
} -params 1.. shell-command %{
|
|
evaluate-commands %sh{
|
|
if [ "$1" = "-d" ]; then
|
|
debug="true"
|
|
shift
|
|
fi
|
|
stdout="$(eval "$@")"
|
|
printf 'info -title sh "%s"\n' "$stdout"
|
|
if [ "$debug" = "true" ]; then
|
|
printf 'echo -debug -- "%s"\n' "$stdout"
|
|
fi
|
|
}
|
|
}
|
|
define-command -params 1.. shell-async-command %{
|
|
nop %sh{
|
|
{
|
|
stdout="$(eval "$@")"
|
|
printf 'info -title sh "%s"\n' "$stdout" | kak -p "$kak_session"
|
|
} >/dev/null 2>&1 </dev/null &
|
|
}
|
|
}
|
|
alias global sh shell-command
|
|
alias global ! shell-command
|