mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-06-16 11:36:16 +08:00
The addhistory hook previously had two bugs when inc_append_history or share_history was not set: 1. Commands were only saved to one history file (HISTFILE or per-dir) depending on when fc -AI was called, resulting in lost history. 2. fc -p was called unconditionally after every command, corrupting the zsh history stack even in global mode. This caused the per-dir hook to push a new history frame on every command, breaking the global history state. Fix: always write both history files via fc -AI before any mode check, and only call fc -p (to push into per-directory history) when actually in directory mode. Signed-off-by: god032396-del <god032396@gmail.com>
23 lines
419 B
Plaintext
23 lines
419 B
Plaintext
#compdef ant
|
|
|
|
_ant_does_target_list_need_generating () {
|
|
[[ ! -f .ant_targets ]] && return 0
|
|
[[ build.xml -nt .ant_targets ]] && return 0
|
|
return 1
|
|
}
|
|
|
|
_ant () {
|
|
if [[ ! -f build.xml ]]; then
|
|
return
|
|
fi
|
|
|
|
if ! _ant_does_target_list_need_generating; then
|
|
return
|
|
fi
|
|
|
|
ant -p | awk -F " " 'NR > 5 { print lastTarget } { lastTarget = $1 }' >| .ant_targets
|
|
compadd -- "$(cat .ant_targets)"
|
|
}
|
|
|
|
_ant "$@"
|