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>
16 lines
543 B
Bash
16 lines
543 B
Bash
(( ! $+commands[asdf] )) && return
|
|
|
|
export ASDF_DATA_DIR="${ASDF_DATA_DIR:-$HOME/.asdf}"
|
|
|
|
# Add shims to the front of the path, removing if already present.
|
|
path=("$ASDF_DATA_DIR/shims" ${path:#$ASDF_DATA_DIR/shims})
|
|
|
|
# If the completion file doesn't exist yet, we need to autoload it and
|
|
# bind it to `asdf`. Otherwise, compinit will have already done that.
|
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
|
|
typeset -g -A _comps
|
|
autoload -Uz _asdf
|
|
_comps[asdf]=_asdf
|
|
fi
|
|
asdf completion zsh >| "$ZSH_CACHE_DIR/completions/_asdf" &|
|