]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - bash-completion/mount
su: use lib/pty-session.c code for --pty
[thirdparty/util-linux.git] / bash-completion / mount
index db97a918acdd8b038d52c7940c16ebfb58bc00c2..832947fd73fc65c781db0fc0b6582fa57cdfabe7 100644 (file)
@@ -6,25 +6,20 @@ _mount_module()
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        case $prev in
                '-t'|'--types')
-                       local TYPES
+                       local prefix realcur TYPES
                        TYPES="
-adfs     noadfs        hfsplus   nohfsplus     smbfs     nosmbfs
-affs     noaffs        hpfs      nohpfs        squashfs  nosquashfs
-autofs   noautofs      iso9660   noiso9660     sysv      nosysv
-cifs     nocifs        jfs       nojfs         tmpfs     notmpfs
-coda     nocoda        minix     nominix       ubifs     noubifs
-coherent  nocoherent   msdos     nomsdos       udf       noudf
-cramfs   nocramfs      ncpfs     noncpfs       ufs       noufs
-debugfs          nodebugfs     nfs       nonfs         umsdos    noumsdos
-devpts   nodevpts      nfs4      nonfs4        usbfs     nousbfs
-efs      noefs         ntfs      nontfs        vfat      novfat
-ext      noext         proc      noproc        xenix     noxenix
-ext2     noext2        qnx4      noqnx4        xfs       noxfs
-ext3     noext3        ramfs     noramfs       xiafs     noxiafs
-ext4     noext4        reiserfs  noreiserfs
-hfs      nohfs         romfs     noromfs
-"
-                       COMPREPLY=( $(compgen -W "$TYPES" -- $cur) )
+                               $(\ls /lib/modules/$(uname -r)/kernel/fs | awk '{print $1, "no" $1}')
+                               $(awk '{print $NF, "no" $NF}' /proc/filesystems)
+                       "
+                       realcur="${cur##*,}"
+                       prefix="${cur%$realcur}"
+                       for WORD in $TYPES; do
+                               if ! [[ $prefix == *"$WORD"* ]]; then
+                                       TYPE_COLS="$WORD ${TYPE_COLS:-""}"
+                               fi
+                       done
+                       compopt -o nospace
+                       COMPREPLY=( $(compgen -P "$prefix" -W "$TYPE_COLS" -S ',' -- $realcur) )
                        return 0
                        ;;
                '-L'|'--label')
@@ -39,6 +34,20 @@ hfs    nohfs         romfs     noromfs
                        COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) )
                        return 0
                        ;;
+               '-N'|'--namespace')
+                       local NAMESPACE
+                       NAMESPACE="$(lsns --type mnt --output PATH --noheadings)"
+                       COMPREPLY=( $(compgen -W "$NAMESPACE" -- $cur) )
+                       return 0
+                       ;;
+               '--options-mode')
+                       COMPREPLY=( $(compgen -W "ignore append prepend replace" -- $cur) )
+                       return 0
+                       ;;
+               '--options-source')
+                       COMPREPLY=( $(compgen -W "fstab mtab disable" -- $cur) )
+                       return 0
+                       ;;
                '-h'|'--help'|'-V'|'--version')
                        return 0
                        ;;
@@ -55,6 +64,9 @@ hfs     nohfs         romfs     noromfs
                                --show-labels
                                --no-mtab
                                --options
+                               --options-mode
+                               --options-source
+                               --options-source-force
                                --test-opts
                                --read-only
                                --types
@@ -63,6 +75,7 @@ hfs     nohfs         romfs     noromfs
                                --verbose
                                --version
                                --read-write
+                               --namespace
                                --label
                                --uuid
                                --bind