fix(zsh): Tab completion and colby buffer expansion
Fix fzf_default_completion stale pointer after zle -D by setting it to expand-or-complete before deleting the lazy comp widget. Rebind ^I explicitly after widget deletion and add safety net in widgets.zsh after bindkey -e. Replace colby() function with ^M buffer expansion so the full copilot --allow-all-tools --allow-all-paths invocation is visible in terminal history and screen recordings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -387,5 +387,22 @@ for line in sys.stdin:
|
||||
}
|
||||
zle -N _dots_stash_widget
|
||||
bindkey '^Y' _dots_stash_widget
|
||||
|
||||
# Restore Tab after bindkey -e
|
||||
if (( ${+widgets[fzf-completion]} )); then
|
||||
bindkey '^I' fzf-completion
|
||||
elif (( ${+widgets[_dots_lazy_comp_widget]} )); then
|
||||
bindkey '^I' _dots_lazy_comp_widget
|
||||
fi
|
||||
|
||||
# Enter: expand colby → full copilot invocation (visible in terminal history)
|
||||
_dots_enter_handler() {
|
||||
if [[ "$BUFFER" == "colby" || "$BUFFER" == "colby "* ]]; then
|
||||
BUFFER="${BUFFER/#colby/copilot --allow-all-tools --allow-all-paths}"
|
||||
fi
|
||||
zle accept-line
|
||||
}
|
||||
zle -N _dots_enter_handler
|
||||
bindkey '^M' _dots_enter_handler
|
||||
}
|
||||
_dots_load_keybindings
|
||||
|
||||
Reference in New Issue
Block a user