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
424 B
Bash
16 lines
424 B
Bash
# Do nothing if op is not installed
|
|
(( ${+commands[op]} )) || return
|
|
|
|
# If the completion file doesn't exist yet, we need to autoload it and
|
|
# bind it to `op`. Otherwise, compinit will have already done that.
|
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_op" ]]; then
|
|
typeset -g -A _comps
|
|
autoload -Uz _op
|
|
_comps[op]=_op
|
|
fi
|
|
|
|
op completion zsh >| "$ZSH_CACHE_DIR/completions/_op" &|
|
|
|
|
# Load opswd function
|
|
autoload -Uz opswd
|