feat(zsh): automatically expand aliases
Automatically expand aliases after the space key is pressed, unless it was added using the `ialias` function. This is something that I saw on Sebastian Daschner's videos (https://www.sebastian-daschner.com, https://www.youtube.com/@SebastianDaschnerIT) and is from his dotfiles (https://github.com/sdaschner/dotfiles).
This commit is contained in:
parent
0d25b9348e
commit
ac0c71775d
|
@ -36,6 +36,66 @@
|
||||||
|
|
||||||
compdef g=git
|
compdef g=git
|
||||||
|
|
||||||
|
clear-ls-all() {
|
||||||
|
clear
|
||||||
|
exa -al
|
||||||
|
}
|
||||||
|
zle -N clear-ls-all
|
||||||
|
bindkey '^K' clear-ls-all
|
||||||
|
|
||||||
|
clear-git-status() {
|
||||||
|
clear
|
||||||
|
git status -sb .
|
||||||
|
}
|
||||||
|
zle -N clear-git-status
|
||||||
|
bindkey '^G' clear-git-status
|
||||||
|
|
||||||
|
# auto-completes aliases
|
||||||
|
# enables to define
|
||||||
|
# - normal aliases (completed with trailing space)
|
||||||
|
# - blank aliases (completed without space)
|
||||||
|
# - ignored aliases (not completed)
|
||||||
|
|
||||||
|
# ignored aliases
|
||||||
|
typeset -a ialiases
|
||||||
|
ialiases=()
|
||||||
|
|
||||||
|
ialias() {
|
||||||
|
alias $@
|
||||||
|
args="$@"
|
||||||
|
args=''${args%%\=*}
|
||||||
|
ialiases+=(''${args##* })
|
||||||
|
}
|
||||||
|
|
||||||
|
# blank aliases
|
||||||
|
typeset -a baliases
|
||||||
|
baliases=()
|
||||||
|
|
||||||
|
balias() {
|
||||||
|
alias $@
|
||||||
|
args="$@"
|
||||||
|
args=''${args%%\=*}
|
||||||
|
baliases+=(''${args##* })
|
||||||
|
}
|
||||||
|
|
||||||
|
expand-alias-space() {
|
||||||
|
[[ $LBUFFER =~ "\<(''${(j:|:)baliases})\$" ]]; insertBlank=$?
|
||||||
|
if [[ ! $LBUFFER =~ "\<(''${(j:|:)ialiases})\$" ]]; then
|
||||||
|
zle _expand_alias
|
||||||
|
fi
|
||||||
|
|
||||||
|
zle self-insert
|
||||||
|
|
||||||
|
if [[ "$insertBlank" = "0" ]]; then
|
||||||
|
zle backward-delete-char
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
zle -N expand-alias-space
|
||||||
|
|
||||||
|
bindkey " " expand-alias-space
|
||||||
|
bindkey -M isearch " " magic-space
|
||||||
|
|
||||||
setopt auto_cd
|
setopt auto_cd
|
||||||
setopt auto_pushd
|
setopt auto_pushd
|
||||||
setopt pushd_ignore_dups
|
setopt pushd_ignore_dups
|
||||||
|
|
Loading…
Reference in a new issue