/
rm.fish
38 lines (37 loc) · 1.52 KB
/
rm.fish
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#Completions for rm
if rm --version >/dev/null 2>/dev/null # GNU
complete -c rm -s d -l directory -d "Unlink directories"
complete -c rm -s f -l force -d "Never prompt for removal"
complete -c rm -s i -l interactive -d "Prompt for removal"
complete -c rm -s I -d "Prompt to remove >3 files"
complete -c rm -s r -l recursive -d "Recursively remove subdirs"
complete -c rm -s R -d "Recursively remove subdirs"
complete -c rm -s v -l verbose -d "Explain what is done"
complete -c rm -s h -l help -d "Display help"
complete -c rm -l version -d "Display rm version"
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 for removal"
complete -c rm -s i -d "Prompt for removal"
test "$uname" = SunOS
and exit 0
complete -c rm -s d -d "Remove directories as well"
complete -c rm -s P -d "Overwrite before removal"
complete -c rm -s R -s r -d "Recursively remove subdirs"
complete -c rm -s v -d "Explain what is done"
test "$uname" = OpenBSD
and exit 0
complete -c rm -s W -d "Undelete given filenames"
test "$uname" = Darwin
and exit 0
complete -c rm -s x -d "Don't traverse mount points"
test "$uname" = NetBSD
and exit 0
complete -c rm -s I -d "Prompt to remove >=3 files"
end