add trash-d completion
This commit is contained in:
parent
5328eb7c01
commit
1bef992b46
|
@ -0,0 +1,49 @@
|
||||||
|
#compdef trash
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Description
|
||||||
|
# -----------
|
||||||
|
#
|
||||||
|
# Completion script for trash-d (https://github.com/rushsteve1/trash-d).
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Authors
|
||||||
|
# -------
|
||||||
|
#
|
||||||
|
# * mirsella (github.com/mirsella)
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
declare -a args opts=( -A '-*' )
|
||||||
|
args=(
|
||||||
|
'(-d --dir)'{-d,--dir}'[Remove empty directories]'
|
||||||
|
'(-r --recursive)'{-r,--recursive}'[Delete directories and their contents]'
|
||||||
|
'(-v --verbose)'{-v,--verbose}'[Print more information]'
|
||||||
|
'(-i --interactive)'{-i,--interactive}'[Ask before each deletion]'
|
||||||
|
'(-I --interactive-once)'{-I,--interactive-once}'[Ask once if deleting 3 or more]'
|
||||||
|
'(-f --force)'{-f,--force}'[Don'\''t prompt and ignore errors]'
|
||||||
|
'--version[Output the version and exit]'
|
||||||
|
'--list[List out the files in the trash]'
|
||||||
|
'--orphans[List orphaned files in the trash]'
|
||||||
|
'--restore[Restore a file from the trash]'
|
||||||
|
'--delete[Delete a file from the trash]'
|
||||||
|
'--empty[Empty the trash bin]'
|
||||||
|
'--rm[Escape hatch to permanently delete a file]'
|
||||||
|
'(-h --help)'{-h,--help}'[This help information]'
|
||||||
|
'*:: :->file'
|
||||||
|
)
|
||||||
|
|
||||||
|
local curcontext=$curcontext state line ret=1
|
||||||
|
declare -A opt_args
|
||||||
|
|
||||||
|
_arguments -C -s -S $opts \
|
||||||
|
$args && ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(file)
|
||||||
|
(( CURRENT > 0 )) && line[CURRENT]=()
|
||||||
|
line=( ${line//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} )
|
||||||
|
_files -F line && ret=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
Loading…
Reference in New Issue