Skip to content

Instantly share code, notes, and snippets.

@GeneralD
Last active March 10, 2025 13:35
Show Gist options
  • Save GeneralD/7255bc284e0a9589ee39effa834ac735 to your computer and use it in GitHub Desktop.
Save GeneralD/7255bc284e0a9589ee39effa834ac735 to your computer and use it in GitHub Desktop.
#!/usr/bin/env zsh
keybind_as_widget() {
local hash=$(echo $2 | md5)
local widget_name="__widget_$hash"
eval "function $widget_name() { $2; }"
zle -N $widget_name
bindkey $1 $widget_name
}
keybind_as_interactive_widget() {
local hash=$(echo $2 | md5)
local widget_name="__widget_$hash"
eval "function $widget_name() { echo \"$2\"; $2; zle reset-prompt; }"
zle -N $widget_name
bindkey $1 $widget_name
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment