fix(globalias): escape backslash to prevent alias expansion

When typing a backslash followed by a character, globalias was
incorrectly triggering alias expansion. Add early return when the
last word starts with backslash to allow literal character insertion.
This commit is contained in:
2f38b454 2026-04-25 12:43:50 +08:00
commit 7b5147ef5e

View file

@ -3,6 +3,10 @@ globalias() {
# (z) splits into words using shell parsing # (z) splits into words using shell parsing
# (A) makes it an array even if there's only one element # (A) makes it an array even if there's only one element
local word=${${(Az)LBUFFER}[-1]} local word=${${(Az)LBUFFER}[-1]}
if [[ $word[1] == '\' ]]; then
zle self-insert
return
fi
if [[ $GLOBALIAS_FILTER_VALUES[(Ie)$word] -eq 0 ]]; then if [[ $GLOBALIAS_FILTER_VALUES[(Ie)$word] -eq 0 ]]; then
zle _expand_alias zle _expand_alias
zle expand-word zle expand-word