]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
bash-completion: Add fallback for symlinks/images
authorKevin Locke <kevin@kevinlocke.name>
Thu, 19 Sep 2019 13:40:13 +0000 (07:40 -0600)
committerKevin Locke <kevin@kevinlocke.name>
Thu, 19 Sep 2019 14:16:32 +0000 (08:16 -0600)
For commands which support operating on files (i.e. disk images), it is
desirable for bash-completion to complete matching file names.  It is
also desirable to complete on block device symlinks (e.g. under
/dev/disk).  To complete common use cases, often on canonical device
names, continue to try completion using canonical device names, then
fall back to matching any file incrementally as Bash does by default.[1]

[1]: https://github.com/karelzak/util-linux/issues/842#issuecomment-523450243

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
13 files changed:
bash-completion/cfdisk
bash-completion/fdisk
bash-completion/fsck
bash-completion/fsck.cramfs
bash-completion/fsck.minix
bash-completion/mkfs
bash-completion/mkfs.bfs
bash-completion/mkfs.cramfs
bash-completion/mkfs.minix
bash-completion/mkswap
bash-completion/partx
bash-completion/sfdisk
bash-completion/wipefs

index 8921fa344b19a05aa0d27d1c8d770b16ba6123b9..180d987f8a35f63bfefbe8aa0094c26243e96be8 100644 (file)
@@ -23,6 +23,7 @@ _cfdisk_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 855de1468d4a2937039428f962e0021eda1f1e0a..a29b5f68659fbb92c55fe179b56ed163aa2affd9 100644 (file)
@@ -91,6 +91,7 @@ _fdisk_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 301bb5d00ea1536dbeee88e99a0d3594c7472472..16ae9bde8ccd3d2ba4dca42da820bb2db36eba05 100644 (file)
@@ -32,6 +32,7 @@ _fsck_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index c92a6bd466467b1ac224f162c7ba83055a58234d..bf00505b01db80701a7350c5f60f70139490d0fa 100644 (file)
@@ -25,6 +25,7 @@ _fsck.cramfs_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index ac4571e712a3823691c0766e38fafa6857947ca2..99cbf0df17dabc3fe78e01af5aa90679f93a923e 100644 (file)
@@ -10,6 +10,7 @@ _fsck.minix_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 173f7e58b16d13e901c7f0f954f56f8eb0c30f0a..7f9d962aee81e823552bea27bcebba80d2c51446 100644 (file)
@@ -21,6 +21,7 @@ _mkfs_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 1faeb446b1a0792ea83098ad45b9707033c428dd..4f590519ffb05d1ca8c45ba29fe93490b9670ad6 100644 (file)
@@ -24,6 +24,7 @@ _mkfs.bfs_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 23e1d66f8157227fcb06ee69f107b44d09340dfa..fa74d4c113686e3968660b7b5a6516454e5fafbe 100644 (file)
@@ -36,6 +36,7 @@ _mkfs.cramfs_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index e725fd6df029b118ecbd0f573653c64563e219c0..e9413f7a9b930ccaf9620bebbfb1b6cd5f91c003 100644 (file)
@@ -26,6 +26,7 @@ _mkfs.minix_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index ad8b51e66b4e627e5716efcc18492378a64a414e..3fc5ca574fe883f21be284916e0a4d642e97211b 100644 (file)
@@ -32,6 +32,7 @@ _mkswap_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 028146b0ffa000e47bccdcc0590f722df22d3e3f..2430e40fec24a91564f9f0abfd36d580934fbc3d 100644 (file)
@@ -59,6 +59,7 @@ _partx_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 9401f89ac04b86a2b2cee8e0458ae3e07e3cbd40..8386c9fb5289dcc31e909b716f8fba04179ab5ce 100644 (file)
@@ -6,6 +6,7 @@ _sfdisk_module()
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        case $prev in
                '-d'|'--dump'|'-J'|'--json'|'-l'|'--list'|'-F'|'--list-free'|'-r'|'--reorder'|'-s'|'--show-size'|'-V'|'--verify'|'-A'|'--activate'|'--delete')
+                       compopt -o bashdefault -o default
                        COMPREPLY=( $(compgen -W "$(lsblk -dpnro name)" -- $cur) )
                        return 0
                        ;;
@@ -90,6 +91,7 @@ _sfdisk_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
index 13568ca325cc3647159b5ede7fc3ae1679a199ec..8c31fba4a6841fbc00d34019d87cd20480e8231e 100644 (file)
@@ -54,6 +54,7 @@ _wipefs_module()
                        return 0
                        ;;
        esac
+       compopt -o bashdefault -o default
        COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }