From a1fc2f044f2e08b78931821068d08e2ea384ff10 Mon Sep 17 00:00:00 2001 From: An-Cheng Huang Date: Wed, 27 Feb 2008 18:37:13 -0800 Subject: * fix for bug 2771: bind space to completion for vbash users. * add op commands to change the key behaviors. --- etc/bash_completion.d/10vyatta-op | 22 ++++++++++++++++++++-- templates/configure/node.def | 1 + templates/terminal/key/node.def | 1 + templates/terminal/key/query-help/node.def | 1 + .../terminal/key/query-help/node.tag/node.def | 9 +++++++++ templates/terminal/key/space-complete/node.def | 1 + .../terminal/key/space-complete/node.tag/node.def | 9 +++++++++ templates/terminal/node.def | 2 +- 8 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 templates/terminal/key/node.def create mode 100644 templates/terminal/key/query-help/node.def create mode 100644 templates/terminal/key/query-help/node.tag/node.def create mode 100644 templates/terminal/key/space-complete/node.def create mode 100644 templates/terminal/key/space-complete/node.tag/node.def diff --git a/etc/bash_completion.d/10vyatta-op b/etc/bash_completion.d/10vyatta-op index 4eb5ba2..db5ae9d 100644 --- a/etc/bash_completion.d/10vyatta-op +++ b/etc/bash_completion.d/10vyatta-op @@ -35,8 +35,26 @@ test -z "$_vyatta_default_pager" && \ --no-lessopen" declare -x VYATTA_PAGER=$_vyatta_default_pager -# use '?' for help -bind '"?": possible-completions' +_vyatta_op_do_key_bindings () +{ + # if vbash + # use '?' for help + # use ' ' for completion + if [ "$SHELL" == "/bin/vbash" ]; then + if [ -f $HOME/.vyatta_key_query_help_disable ]; then + bind '"?": self-insert' + else + bind '"?": possible-completions' + fi + if [ -f $HOME/.vyatta_key_space_complete_disable ]; then + bind '" ": self-insert' + else + bind '" ": complete' + fi + fi +} + +_vyatta_op_do_key_bindings test -f /etc/default/vyatta && \ source /etc/default/vyatta diff --git a/templates/configure/node.def b/templates/configure/node.def index 67e17af..5d30510 100644 --- a/templates/configure/node.def +++ b/templates/configure/node.def @@ -1,2 +1,3 @@ help: Enter configure mode run: export _OFR_CONFIGURE=ok; newgrp vyattacfg; unset _OFR_CONFIGURE + _vyatta_op_do_key_bindings diff --git a/templates/terminal/key/node.def b/templates/terminal/key/node.def new file mode 100644 index 0000000..3303752 --- /dev/null +++ b/templates/terminal/key/node.def @@ -0,0 +1 @@ +help: Configure key behaviors diff --git a/templates/terminal/key/query-help/node.def b/templates/terminal/key/query-help/node.def new file mode 100644 index 0000000..c15f556 --- /dev/null +++ b/templates/terminal/key/query-help/node.def @@ -0,0 +1 @@ +help: Enable/disable getting help using question mark diff --git a/templates/terminal/key/query-help/node.tag/node.def b/templates/terminal/key/query-help/node.tag/node.def new file mode 100644 index 0000000..8564490 --- /dev/null +++ b/templates/terminal/key/query-help/node.tag/node.def @@ -0,0 +1,9 @@ +help: Enable/disable getting help using question mark (default enabled) +allowed: echo -n 'enable' 'disable' +run: if [ "$4" == 'disable' ]; then + touch $HOME/.vyatta_key_query_help_disable + bind '"?": self-insert' + else + rm -f $HOME/.vyatta_key_query_help_disable + bind '"?": possible-completions' + fi diff --git a/templates/terminal/key/space-complete/node.def b/templates/terminal/key/space-complete/node.def new file mode 100644 index 0000000..e02e272 --- /dev/null +++ b/templates/terminal/key/space-complete/node.def @@ -0,0 +1 @@ +help: Enable/disable space-completion diff --git a/templates/terminal/key/space-complete/node.tag/node.def b/templates/terminal/key/space-complete/node.tag/node.def new file mode 100644 index 0000000..0b5c40a --- /dev/null +++ b/templates/terminal/key/space-complete/node.tag/node.def @@ -0,0 +1,9 @@ +help: Enable/disable space-completion (default enabled) +allowed: echo -n 'enable' 'disable' +run: if [ "$4" == 'disable' ]; then + touch $HOME/.vyatta_key_space_complete_disable + bind '" ": self-insert' + else + rm -f $HOME/.vyatta_key_space_complete_disable + bind '" ": complete' + fi diff --git a/templates/terminal/node.def b/templates/terminal/node.def index 85b7c7f..cdc1793 100644 --- a/templates/terminal/node.def +++ b/templates/terminal/node.def @@ -1 +1 @@ -help: Control terminal paging +help: Control terminal behaviors -- cgit v1.2.3