mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-11 08:00:06 +00:00
33 lines
713 B
Text
33 lines
713 B
Text
function _p9k_on_widget() {
|
|
zle _p9k_orig_$1 "${@:2}"
|
|
}
|
|
|
|
time ( repeat 1000 ( () {
|
|
local tmp=${TMPDIR:-/tmp}/p10k.bindings.$sysparams[pid]
|
|
{
|
|
bindkey >$tmp
|
|
local widget
|
|
for widget in ${(u)${${(f)"$(<$tmp)"}:#*\"}##* }; do
|
|
functions[_p9k_widget_$widget]='_p9k_on_widget '${(q)widget}' "$@"'
|
|
zle -A $widget _p9k_orig_$widget
|
|
zle -N $widget _p9k_widget_$widget
|
|
done
|
|
} always {
|
|
zf_rm -f $tmp
|
|
}
|
|
} ) ) # 2.774s
|
|
|
|
time ( repeat 1000 ( () {} ) ) # 0.960s
|
|
|
|
Hooks:
|
|
|
|
p10k-on-init
|
|
p10k-on-pre-prompt
|
|
p10k-on-post-prompt
|
|
p10k-on-buffer-change
|
|
|
|
Parameters accessible from hooks:
|
|
|
|
P9K_PROMPT=regular|instant
|
|
P9K_TTY=old|new
|
|
P9K_COMMAND (only in p10k-on-post-prompt)
|