completions/trash-cli: add completions for trash-cli (#9560)

Add completions for trash-cli commands:
trash, trash-empty, trash-list, trash-put and trash-restore.

``trash --help`` are used to identify the executable in trash cli completion.

(cherry picked from commit ce268b74dd)
This commit is contained in:
Jay 2023-02-14 02:10:55 +08:00 committed by David Adam
parent c8526bfe4d
commit c42c3ebe6f
6 changed files with 64 additions and 0 deletions

View file

@ -44,6 +44,7 @@ Completions
- ``proxychains`` (:issue:`9486`)
- ``mix phx``
- ``neovim``
- ``trash`` and helper utilities ``trash-empty``, ``trash-list``, ``trash-put``, ``trash-restore``
- Improvements to many completions.
- git's completion for ``git-foo``-style commands was fixed (:issue:`9457`)
- File completion now offers ``../`` and ``./`` again (:issue:`9477`)

View file

@ -0,0 +1,13 @@
# Completions for trash-cli
# There are many implementations of trash cli tools, but the name ``trash-empty`` is unique.
# https://github.com/andreafrancia/trash-cli
complete -f -c trash-empty -s h -l help -d 'show help message'
complete -f -c trash-empty -l print-completion -xa 'bash zsh tcsh' -d 'print shell completion script'
complete -f -c trash-empty -l version -d 'show version number'
complete -f -c trash-empty -s v -l verbose -d 'list files that will be deleted'
complete -F -c trash-empty -l trash-dir -d 'specify trash directory'
complete -f -c trash-empty -l all-users -d 'empty trashcan of all users'
complete -f -c trash-empty -s i -l interactive -d 'prompt before emptying'
complete -f -c trash-empty -s f -d 'don\'t ask before emptying'
complete -f -c trash-empty -l dry-run -d 'show which files would have been removed'

View file

@ -0,0 +1,10 @@
# Completions for trash-cli
# There are many implementations of trash cli tools, but the name ``trash-list`` is unique.
# https://github.com/andreafrancia/trash-cli
complete -f -c trash-list -s h -l help -d 'show help message'
complete -f -c trash-list -l print-completion -xa 'bash zsh tcsh' -d 'print completion script'
complete -f -c trash-list -l version -d 'show version number'
complete -f -c trash-list -l trash-dirs -d 'list trash dirs'
complete -f -c trash-list -l trash-dir -d 'specify trash directory'
complete -f -c trash-list -l all-users -d 'list trashcans of all users'

View file

@ -0,0 +1,13 @@
# Completions for trash-cli
# There are many implementations of trash cli tools, but the name ``trash-put`` is unique.
# https://github.com/andreafrancia/trash-cli
complete -f -c trash-put -s h -l help -d 'show help message'
complete -f -c trash-put -l print-completion -xa 'bash zsh tcsh' -d 'print shell completion script'
complete -f -c trash-put -s d -l directory -d 'ignored (for GNU rm compatibility)'
complete -f -c trash-put -s f -l force -d 'silently ignore nonexistent files'
complete -f -c trash-put -s i -l interactive -d 'prompt before every removal'
complete -f -c trash-put -s r -s R -l recursive -d 'ignored (for GNU rm compatibility)'
complete -F -c trash-put -l trash-dir -d 'specify trash folder'
complete -f -c trash-put -s v -l verbose -d 'be verbose'
complete -f -c trash-put -l version -d 'show version number'

View file

@ -0,0 +1,8 @@
# Completions for trash-cli
# There are many implementations of trash cli tools, but the name ``trash-restore`` is unique.
# https://github.com/andreafrancia/trash-cli
complete -f -c trash-restore -s h -l help -d 'show help message'
complete -f -c trash-restore -l print-completion -xa 'bash zsh tcsh' -d 'print shell completion script(default: None)'
complete -f -c trash-restore -l sort -a 'date path none' -d 'sort candidates(default: date)'
complete -f -c trash-restore -l version -d 'show version number'

View file

@ -0,0 +1,19 @@
# Completions for trash-cli
# There are many implementations of trash cli tools, identify different version of ``trash`` excutable by its help message.
# https://github.com/andreafrancia/trash-cli
function __trash_by_andreafrancia
complete -f -c trash -s h -l help -d 'show help message'
complete -f -c trash -l print-completion -xa 'bash zsh tcsh' -d 'print shell completion script'
complete -f -c trash -s d -l directory -d 'ignored (for GNU rm compatibility)'
complete -f -c trash -s f -l force -d 'silently ignore nonexistent files'
complete -f -c trash -s i -l interactive -d 'prompt before every removal'
complete -f -c trash -s r -s R -l recursive -d 'ignored (for GNU rm compatibility)'
complete -F -c trash -l trash-dir -d 'specify trash folder'
complete -f -c trash -s v -l verbose -d 'be verbose'
complete -f -c trash -l version -d 'show version number'
end
if string match -qr "https://github.com/andreafrancia/trash-cli" (trash --help 2>/dev/null)
__trash_by_andreafrancia
end