mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-06-06 07:16:04 +02:00
Nikolai Weibull: 25828: new rm completion
unposted: note some new features in NEWS
This commit is contained in:
parent
7e86f2da31
commit
612cec047f
|
@ -1,3 +1,10 @@
|
|||
2008-10-08 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* Nikolai Weibull: 25828: Completion/Unix/Command/_rm,
|
||||
Completion/Unix/Command/.distfiles: new completion.
|
||||
|
||||
* unposted: NEWS: note some new features.
|
||||
|
||||
2008-10-07 Clint Adams <clint@zsh.org>
|
||||
|
||||
* 25823: Functions/Misc/run-help: bring up zshcontrib man page if
|
||||
|
|
|
@ -164,6 +164,7 @@ _rcs
|
|||
_renice
|
||||
_ri
|
||||
_rlogin
|
||||
_rm
|
||||
_rrdtool
|
||||
_rsync
|
||||
_rubber
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
#compdef rm
|
||||
|
||||
declare -a opts args
|
||||
args=(
|
||||
'(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]'
|
||||
'(-I --interactive)-i[prompt before every removal]'
|
||||
'(-r -R --recursive)'{-r,-R,--recursive}'[remove directories and their contents recursively]'
|
||||
'*:files:->file'
|
||||
)
|
||||
if _pick_variant gnu=gnu unix --help; then
|
||||
opts+=(-S)
|
||||
args+=(
|
||||
'(-i --interactive)-I[prompt when removing many files]'
|
||||
'(-i -I)--interactive=-[prompt under given condition (defaulting to always)]::when:((once\:"prompt when removing many files"
|
||||
always\:"prompt before every removal"))'
|
||||
'--one-file-system[stay within filesystems of files given as arguments]'
|
||||
'( --preserve-root)--no-preserve-root[do not treat / specially]'
|
||||
'(--no-preserve-root )--preserve-root[do not remove / (default)]'
|
||||
'(-v --verbose)'{-v,--verbose}'[explain what is being done]'
|
||||
'(- *)--help[display help message and exit]'
|
||||
'(- *)--version[output version information and exit]'
|
||||
)
|
||||
else
|
||||
args=(${args:#*--(force|recursive)\[*})
|
||||
fi
|
||||
|
||||
local curcontext=$curcontext state line ret=1
|
||||
declare -A opt_args
|
||||
|
||||
_arguments -C $opts \
|
||||
$args && ret=0
|
||||
|
||||
case $state in
|
||||
(file)
|
||||
declare -a ignored
|
||||
ignored=(${line//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
|
||||
_path_files -F ignored && ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return $ret
|
10
NEWS
10
NEWS
|
@ -11,12 +11,20 @@ The option COMBINING_CHARS has been added. When it is set, the
|
|||
line editor assumes the terminal is capable of displaying zero-width
|
||||
combining characters (typically accents) correctly as modifications
|
||||
to the base character, and will act accordingly. Note it is not set
|
||||
by default owing to vagaries of terminals.
|
||||
by default owing to vagaries of terminals. The system is reported
|
||||
to work on MacOS, where this is particularly important as accented
|
||||
characters in file names are stored in their decomposed form (i.e.
|
||||
with base and combining characters).
|
||||
|
||||
The option HIST_FCNTL_LOCK has been added to provide locking of history
|
||||
files using the system call fcntl(). On recent NFS implementations this
|
||||
may provide better reliability.
|
||||
|
||||
The syntax ~[...] provides a dynamic form of directory naming,
|
||||
supplementing the existing static ~name syntax. A user-defined shell
|
||||
function, zsh_directory_name, is used to handle both expansion of names to
|
||||
directories and contraction of directories to names.
|
||||
|
||||
Patterns can now be used in incremental searches with the new widgets
|
||||
history-incremental-pattern-search-backward and
|
||||
history-incremental-pattern-search-forward. These are not bound to
|
||||
|
|
Loading…
Reference in New Issue