1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2025-12-12 15:34:50 +08:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Felipe Contreras
d055445625
gitfast: fetch latest fixes from git-completion (#9390)
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2020-10-27 11:14:39 +01:00
Marc Cornellà
bad9ee0004 lib: delete zsh session history list
NOTE: it still lives somewhere in the current zsh process. Run `fc -P` to
restore it.
2020-10-27 10:33:21 +01:00
3 changed files with 29 additions and 23 deletions

View File

@ -6,7 +6,8 @@ function omz_history {
if [[ -n "$clear" ]]; then if [[ -n "$clear" ]]; then
# if -c provided, clobber the history file # if -c provided, clobber the history file
echo -n >| "$HISTFILE" echo -n >| "$HISTFILE"
echo >&2 History file deleted. Reload the session to see its effects. fc -p "$HISTFILE"
echo >&2 History file deleted.
elif [[ -n "$list" ]]; then elif [[ -n "$list" ]]; then
# if -l provided, run as if calling `fc' directly # if -l provided, run as if calling `fc' directly
builtin fc "$@" builtin fc "$@"

View File

@ -27,19 +27,26 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
zstyle -s ":completion:*:*:git:*" script script zstyle -s ":completion:*:*:git:*" script script
if [ -z "$script" ]; then if [ -z "$script" ]; then
local -a locations local -a locations
local e local e bash_completion
bash_completion=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null) ||
bash_completion='/usr/share/bash-completion/completions/'
locations=( locations=(
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash "$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
"$HOME/.local/share/bash-completion/completions/git" "$HOME/.local/share/bash-completion/completions/git"
"$(pkg-config --variable=completionsdir bash-completion)"/git "$bash_completion/git"
'/usr/share/bash-completion/completions/git'
'/etc/bash_completion.d/git' # old debian '/etc/bash_completion.d/git' # old debian
) )
for e in $locations; do for e in $locations; do
test -f $e && script="$e" && break test -f $e && script="$e" && break
done done
fi fi
local old_complete="$functions[complete]"
functions[complete]=:
GIT_SOURCING_ZSH_COMPLETION=y . "$script" GIT_SOURCING_ZSH_COMPLETION=y . "$script"
functions[complete]="$old_complete"
__gitcomp () __gitcomp ()
{ {
@ -105,21 +112,6 @@ __gitcomp_nl ()
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0 compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
} }
__gitcomp_nl_append ()
{
emulate -L zsh
compset -P '*[=:]'
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
}
__gitcomp_file_direct ()
{
emulate -L zsh
compadd -f -- ${(f)1} && _ret=0
}
__gitcomp_file () __gitcomp_file ()
{ {
emulate -L zsh emulate -L zsh
@ -127,6 +119,21 @@ __gitcomp_file ()
compadd -f -p "${2-}" -- ${(f)1} && _ret=0 compadd -f -p "${2-}" -- ${(f)1} && _ret=0
} }
__gitcomp_direct_append ()
{
__gitcomp_direct "$@"
}
__gitcomp_nl_append ()
{
__gitcomp_nl "$@"
}
__gitcomp_file_direct ()
{
__gitcomp_file "$1" ""
}
_git_zsh () _git_zsh ()
{ {
__gitcomp "v1.0" __gitcomp "v1.0"

View File

@ -3585,7 +3585,6 @@ __git_func_wrap ()
# This is NOT a public function; use at your own risk. # This is NOT a public function; use at your own risk.
__git_complete () __git_complete ()
{ {
test -n "$ZSH_VERSION" && return
local wrapper="__git_wrap${2}" local wrapper="__git_wrap${2}"
eval "$wrapper () { __git_func_wrap $2 ; }" eval "$wrapper () { __git_func_wrap $2 ; }"
complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \ complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \
@ -3607,8 +3606,7 @@ if ! git --list-cmds=main >/dev/null 2>&1; then
{ {
case "$1" in case "$1" in
--list-cmds=*) --list-cmds=*)
IFS=, read -r -a cmds <<< "${1##--list-cmds=}" while read -r -d ',' x; do
for x in ${cmds[@]}; do
case "$x" in case "$x" in
nohelpers) nohelpers)
;; ;;
@ -3620,7 +3618,7 @@ if ! git --list-cmds=main >/dev/null 2>&1; then
echo ${__git_cmds[$x]} echo ${__git_cmds[$x]}
;; ;;
esac esac
done done <<< "${1##--list-cmds=},"
return return
;; ;;
esac esac