summary refs log tree commit diff
path: root/Completion/Linux/Command/_fusermount
blob: 02cb57237ef62a2962f05b9d7913a8a132729a05 (plain) (blame)
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
#compdef fusermount

local expl context state line
typeset -A opt_args

_arguments \
  '-h[display help information]' \
  '-V[display version information]' \
  '-o[specify mount options]:mount options:_fuse_values "mount options"' \
  '-u[unmount a fuse mount]' \
  '-z[unmount lazily (work even when if the resource is still busy)]' \
  '-q[suppress nonessential output]' \
  ':mount point:->mountpoint' && return 0

typeset -a mtpts

case "$state" in
  (mountpoint)
  if [[ $+opt_args[-u] -eq 0 ]]; then
    _files -/
  else
    mtpts=(${${${"${(f)$(< /etc/mtab)}"}#* }%% *})
    _canonical_paths mounted 'mounted filesystem' "${(@g::)mtpts}"
  fi
  ;;
esac