Alpha Chen 8 years ago committed by Alpha Chen
parent 89245945e1
commit c7a59b2b7e
Signed by: alpha
SSH Key Fingerprint: SHA256:3fOT8fiYQG/aK9ntivV3Bqtg8AYQ7q4nV6ZgihOA20g

@ -14,6 +14,7 @@ export EDITOR=vim
export VISUAL=vim export VISUAL=vim
unsetopt correct # Don't autocorrect unsetopt correct # Don't autocorrect
unsetopt flowcontrol # So ^S and ^Q can be used
setopt no_nomatch # Pass bad matches on setopt no_nomatch # Pass bad matches on
setopt no_share_history setopt no_share_history
@ -38,4 +39,24 @@ if command -v direnv &> /dev/null; then
eval "$(direnv hook zsh)" eval "$(direnv hook zsh)"
fi fi
if command -v selecta &> /dev/null; then
# Run Selecta in the current working directory, appending the selected path, if
# any, to the current command.
function insert-selecta-path-in-command-line() {
local selected_path
# Print a newline or we'll clobber the old prompt.
echo
# Find the path; abort if the user doesn't select anything.
selected_path=$(find * -type f | selecta) || return
# Append the selection to the current command buffer.
eval 'LBUFFER="$LBUFFER$selected_path"'
# Redraw the prompt since Selecta has drawn several new lines of text.
zle reset-prompt
}
# Create the zle widget
zle -N insert-selecta-path-in-command-line
# Bind the key to the newly created widget
bindkey "^S" "insert-selecta-path-in-command-line"
fi
[[ -s "$HOME/.zshrc.local" ]] && . "$HOME/.zshrc.local" [[ -s "$HOME/.zshrc.local" ]] && . "$HOME/.zshrc.local"

Loading…
Cancel
Save