#Completions for rm if rm --version >/dev/null 2>/dev/null # GNU complete -c rm -s d -l directory -d "Unlink directory (Only by superuser)" complete -c rm -s f -l force -d "Never prompt before removal" complete -c rm -s i -l interactive -d "Prompt before removal" complete -c rm -s I -d "Prompt before removing more than three files" complete -c rm -s r -l recursive -d "Recursively remove subdirectories" complete -c rm -s R -d "Recursively remove subdirectories" complete -c rm -s v -l verbose -d "Explain what is done" complete -c rm -s h -l help -d "Display help and exit" complete -c rm -l version -d "Display version and exit" else set -l uname (uname -s) # solaris: rm [-fi ] file ... # openbsd: rm [-fidPRrv ] file ... # macos: rm [-fidPRrvW ] file ... # netbsd: rm [-fidPRrvWx ] file ... # freebsd: rm [-fidPRrvWxI] file ... # dragonfly: rm [-fidPRrvWxI] file ... complete -c rm -s f -d "Never prompt before removal" complete -c rm -s i -d "Prompt before removal" test "$uname" = SunOS and exit 0 complete -c rm -s d -d "Attempt to remove directories as well" complete -c rm -s P -d "Overwrite before removal" complete -c rm -s R -d "Recursively remove subdirectories" complete -c rm -s r -d "Recursively remove subdirectories" complete -c rm -s v -d "Explain what is done" test "$uname" = OpenBSD and exit 0 complete -c rm -s W -d "Undelete the named files" test "$uname" = Darwin and exit 0 complete -c rm -s x -d "Do not traverse filesystem mount points" test "$uname" = NetBSD and exit 0 complete -c rm -s I -d "Like -i, but only if 3 or more files affected" end