summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Southworth <john.southworth@vyatta.com>2011-10-17 14:14:33 -0500
committerJohn Southworth <john.southworth@vyatta.com>2011-10-17 14:14:33 -0500
commita032121b9b6d873fa2c003adb23a3abfda7d1f40 (patch)
treeda0f7fc3659790031286c3144e69e435ff543068
parent94d0bca705c0d49e6197abaeb2afb0aafbeeadba (diff)
downloadvyatta-cfg-a032121b9b6d873fa2c003adb23a3abfda7d1f40.tar.gz
vyatta-cfg-a032121b9b6d873fa2c003adb23a3abfda7d1f40.zip
Make directory completions, if it is the first word of a run completion, work so that users can easily find scripts they may be trying to run.
-rwxr-xr-xetc/bash_completion.d/vyatta-cfg8
-rw-r--r--functions/interpreter/vyatta-cfg-run3
2 files changed, 9 insertions, 2 deletions
diff --git a/etc/bash_completion.d/vyatta-cfg b/etc/bash_completion.d/vyatta-cfg
index aada483..c926ca1 100755
--- a/etc/bash_completion.d/vyatta-cfg
+++ b/etc/bash_completion.d/vyatta-cfg
@@ -117,7 +117,6 @@ done
vyatta_run_complete ()
{
local restore_shopts=$( shopt -p extglob nullglob | tr \\n \; )
- shopt -s extglob nullglob
local cur=${COMP_WORDS[COMP_CWORD]}
@@ -129,7 +128,12 @@ vyatta_run_complete ()
COMP_WORDS=( "${COMP_WORDS[@]:1}" )
(( COMP_CWORD -= 1 ))
- _vyatta_op_expand "$@"
+ if [[ ${COMP_WORDS[0]} =~ "/" ]]; then
+ _filedir_xspec
+ else
+ shopt -s extglob nullglob
+ _vyatta_op_expand "$@"
+ fi
if [ -z "$cur" ] ||
[[ "${COMPREPLY[0]}" =~ "$cur" ]]; then
diff --git a/functions/interpreter/vyatta-cfg-run b/functions/interpreter/vyatta-cfg-run
index 52b5b08..52a264a 100644
--- a/functions/interpreter/vyatta-cfg-run
+++ b/functions/interpreter/vyatta-cfg-run
@@ -319,6 +319,9 @@ vyatta_config_run ()
fi
if [[ "set" =~ "$1" ]]; then
_vyatta_op_run "$@"
+ elif [[ "$1" =~ "/" ]]; then
+ local args=("$@")
+ ${args[0]} "${args[@]:1}"
else
/opt/vyatta/bin/vyatta-op-cmd-wrapper "$@"
fi