mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-03 10:21:46 +02:00
43329: new diff3 completion
This commit is contained in:
parent
f4a1c3c4a3
commit
f7deb49513
2 changed files with 48 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
|||
2018-08-24 Oliver Kiddle <okiddle@yahoo.co.uk>
|
||||
|
||||
* x: Completion/Unix/Command/_diff3: new diff3 completion
|
||||
|
||||
* 43328: Completion/X/Command/_zeal: new completion
|
||||
|
||||
2018-08-23 dana <dana@dana.is>
|
||||
|
|
46
Completion/Unix/Command/_diff3
Normal file
46
Completion/Unix/Command/_diff3
Normal file
|
@ -0,0 +1,46 @@
|
|||
#compdef diff3
|
||||
|
||||
local -a args ed
|
||||
local ign
|
||||
|
||||
if _pick_variant gnu=GNU unix; then
|
||||
ed=(
|
||||
'(-m --merge -A --show-all)'{-e,--ed}'[output ed script for incorporating changes]'
|
||||
'(-m --merge -A --show-all)'{-E,--show-overlap}'[like -e, but bracket conflicts]'
|
||||
'(-m --merge -A --show-all)'{-3,--easy-only}'[like -e, but incorporate only nonoverlapping changes]'
|
||||
'(-m --merge -A --show-all)'{-x,--overlap-only}'[like -e, but incorporate only overlapping changes]'
|
||||
'(-m --merge -A --show-all)-X[like -x, but bracket conflicts]'
|
||||
)
|
||||
(( $#words > 2 )) && ign='!'
|
||||
args=(
|
||||
'(-A --show-all ed)'{-A,--show-all}'[output all changes, bracketing conflicts]'
|
||||
"(-m --merge)-i[append 'w' and 'q' commands to ed scripts]"
|
||||
'(-m --merge -i ed)'{-m,--merge}'[output merged file instead of ed script]'
|
||||
'(-a --text)'{-a,--text}'[treat all files as text]'
|
||||
'--strip-trailing-cr[strip trailing carriage return on input]'
|
||||
'(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up by prepending a tab]'
|
||||
'--diff-program=[specify program to compare files]: : _command_names -e'
|
||||
\*{-L+,--label=}'[use specified label instead of file name]:label'
|
||||
"$ign(-)--help[display usage information]"
|
||||
"$ign(-)"{-v,--version}'[display version information]'
|
||||
)
|
||||
else
|
||||
args=( -A "-*" )
|
||||
ed=(
|
||||
'-e[output ed script for incorporating changes]'
|
||||
'-E[like -e, but bracket conflicts]'
|
||||
'-x[like -e, but incorporate only overlapping changes]'
|
||||
'-X[like -x, but bracket conflicts]'
|
||||
'-3[like -e, but incorporate only nonoverlapping changes]'
|
||||
)
|
||||
if [[ $OSTYPE != solaris* ]]; then # likely the openbsd diff3 implementation
|
||||
args+=( '-a[treat all files as text]' )
|
||||
fi
|
||||
fi
|
||||
|
||||
_arguments -s -S $args \
|
||||
'1:updated file:_files' \
|
||||
'2:original file:_files' \
|
||||
'3:updated file:_files' \
|
||||
+ '(ed)' $ed
|
||||
|
Loading…
Reference in a new issue