diff options
author | Matthew Leeds <matthew.leeds@endlessm.com> | 2018-09-30 22:36:42 -0700 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-10-01 13:19:27 +0000 |
commit | 5cada0f051403255059e6eeeb27665f87311a4e5 (patch) | |
tree | 5d4296339f2e0bff047d3b6979306f328920d3bf /bash | |
parent | 39d5db7e1ef99b7c01a21dab3b189ccf660f9d48 (diff) | |
download | ostree-5cada0f051403255059e6eeeb27665f87311a4e5.tar.gz |
bash-completion: Fix --repo autocomplete
This commit fixes the bash tab completion handling of the "--repo"
argument. Before this commit, the completion only works if "--repo"
comes after the main command. After this commit, you can use "--repo"
directly after "ostree" in the command line, as is natural.
Closes: #1745
Approved by: jlebon
Diffstat (limited to 'bash')
-rw-r--r-- | bash/ostree | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/bash/ostree b/bash/ostree index 677aee7c..52b111ec 100644 --- a/bash/ostree +++ b/bash/ostree @@ -24,12 +24,6 @@ # - Structured option arguments (e.g. --foo KEY=VALUE) are not parsed. # # - Static deltas could likely be completed. (e.g. ostree static-delta delete [TAB]) -# -# - The "--repo PATH" option needs to come after the subcommand or it -# won't be picked up for completion of subsequent options. -# i.e. ostree commit --repo PATH ... <-- works -# ostree --repo PATH commit ... <-- does not work -# (Possibly an easy fix.) # Finds the position of the first non-flag word. @@ -183,9 +177,16 @@ __ostree_subcommands() { # This handles "ostree [TAB]" (without a subcommand). _ostree_ostree() { + case "$prev" in + --repo) + __ostree_compreply_dirs_only + return 0 + ;; + esac + case "$cur" in -*) - COMPREPLY=( $( compgen -W "$main_boolean_options" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "$main_options" -- "$cur" ) ) ;; *) COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) ) @@ -1753,6 +1754,14 @@ _ostree() { --verbose -v --version " + local main_options_with_args=" + --repo + " + local main_options_with_args_glob=$( __ostree_to_extglob "$main_options_with_args" ) + local main_options=" + $main_boolean_options + $main_options_with_args + " COMPREPLY=() local cur prev words cword |