Skip to content

Commit

Permalink
Split bash-completion snippet in small ones
Browse files Browse the repository at this point in the history
/usr/share/bash-completion/completions/ now uses dynamic loading based on file name.
  • Loading branch information
Nirgal Vourgère committed May 30, 2015
1 parent 428834b commit 584119e
Show file tree
Hide file tree
Showing 13 changed files with 219 additions and 217 deletions.
1 change: 1 addition & 0 deletions configure.ac
Expand Up @@ -240,6 +240,7 @@ AC_CONFIG_FILES([
libmdb.pc
libmdbsql.pc
src/util/Makefile
src/util/bash-completion/Makefile
src/extras/Makefile
Makefile
include/Makefile
Expand Down
2 changes: 1 addition & 1 deletion src/util/Makefile.am
@@ -1,3 +1,4 @@
SUBDIRS = bash-completion
bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header mdb-sql mdb-ver mdb-prop
noinst_PROGRAMS = mdb-import prtable prcat prdata prkkd prdump prole updrow prindex
LIBS = $(GLIB_LIBS) @LIBS@ @LEXLIB@
Expand All @@ -7,4 +8,3 @@ LDADD = ../libmdb/libmdb.la
if SQL
mdb_sql_LDADD = ../libmdb/libmdb.la ../sql/libmdbsql.la $(LIBREADLINE)
endif
EXTRA_DIST = mdbtools.bash-completion
1 change: 1 addition & 0 deletions src/util/bash-completion/Makefile.am
@@ -0,0 +1 @@
EXTRA_DIST = mdb-export mdb-hexdump mdb-import mdb-parsecsv mdb-prop mdb-schema mdb-sql mdb-tables mdb-ver
32 changes: 32 additions & 0 deletions src/util/bash-completion/mdb-export
@@ -0,0 +1,32 @@
#-*- mode: shell-script;-*-
have mdb-export &&
_mdb_export()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

if [[ "$prev" == -@(d|-delimiter|R|-row-delimiter|q|-quote|X|-escape|D|-date-format|N|-namespace|h|-help) ]] ; then
return 0
elif [[ "$prev" == -I ]] ; then
COMPREPLY=( $( compgen -W 'access sybase oracle postgres mysql' -- $cur ) )
elif [[ "$prev" == -@(b|-bin) ]] ; then
COMPREPLY=( $( compgen -W 'strip raw octal' -- $cur ) )
elif [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-H -d -R -Q -q -X -I -D -N -b -h \
--no-header --no-quote --delimiter --row-delimiter --insert \
--date-format --quote --escape --namespace --bin --help' -- $cur ) )
elif [[ "$prev" == *@(mdb|mdw|accdb) ]] ; then
local dbname
local tablenames
dbname=$prev
__expand_tilde_by_ref dbname
tablenames=$(eval mdb-tables -S -d / "${dbname}" 2>/dev/null)
COMPREPLY=( $( IFS=/ compgen -W "${tablenames}" -- $cur ) )
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_export mdb-export
14 changes: 14 additions & 0 deletions src/util/bash-completion/mdb-hexdump
@@ -0,0 +1,14 @@
#-*- mode: shell-script;-*-
have mdb-hexdump &&
_mdb_hexdump()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}

if (( COMP_CWORD == 1 )); then
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_hexdump mdb-hexdump
29 changes: 29 additions & 0 deletions src/util/bash-completion/mdb-import
@@ -0,0 +1,29 @@
#-*- mode: shell-script;-*-
have mdb-import &&
_mdb_import()
{
local cur

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

if [[ "$prev" == -@(d|-delimiter) ]]; then
return 0
elif [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-H --header \
-d --delimiter \
-h --help' -- $cur ) )
elif [[ "$prev" == @(*mdb|*mdw|*accdb) ]]; then
local dbname
local tablenames
dbname=$prev
__expand_tilde_by_ref dbname
tablenames=$(eval mdb-tables -S -d / "${dbname}" 2>/dev/null)
COMPREPLY=( $( IFS=/ compgen -W "${tablenames}" -- $cur ) )
else
_filedir '@(mdb|mdw|accdb|txt|csv)'
fi
return 0
} &&
complete -F _mdb_import mdb-import
14 changes: 14 additions & 0 deletions src/util/bash-completion/mdb-parsecsv
@@ -0,0 +1,14 @@
#-*- mode: shell-script;-*-
have mdb-parsecsv &&
_mdb_parsecsv()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}

if (( COMP_CWORD == 1 )); then
_filedir '@(txt|csv)'
fi
return 0
} &&
complete -F _mdb_parsecsv mdb-parsecsv
24 changes: 24 additions & 0 deletions src/util/bash-completion/mdb-prop
@@ -0,0 +1,24 @@
#-*- mode: shell-script;-*-
have mdb-prop &&
_mdb_prop()
{
local cur

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}

if (( COMP_CWORD == 1 )); then
_filedir '@(mdb|mdw|accdb)'
elif (( COMP_CWORD == 2 )); then
local dbname
local tablenames
dbname=${COMP_WORDS[1]}
__expand_tilde_by_ref dbname
tablenames=$(eval mdb-tables -S -d / "${dbname}" 2>/dev/null)
COMPREPLY=( $( IFS=/ compgen -W "${tablenames}" -- $cur ) )
elif (( COMP_CWORD == 3 )); then
COMPREPLY=( $( compgen -W 'Lv LvProp LvModule LvExtra' -- $cur ) )
fi
return 0
} &&
complete -F _mdb_prop mdb-prop
30 changes: 30 additions & 0 deletions src/util/bash-completion/mdb-schema
@@ -0,0 +1,30 @@
#-*- mode: shell-script;-*-
have mdb-schema &&
_mdb_schema()
{
local cur prev

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

if [[ "$prev" == -@(T|-table|N|-namespace) ]] ; then
return 0
elif [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-T --table \
-N --namespace \
--drop-table --no-drop-table \
--not-null --no-not-null \
--default-values --no-default-values \
--not-empty --no-not-empty \
--indexes --no-indexes \
--relations --no-relations
-h --help' -- $cur ) )
elif [[ "$prev" == @(*mdb|*mdw|*accdb) ]]; then
COMPREPLY=( $( compgen -W 'access sybase oracle postgres mysql' -- $cur ) )
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_schema mdb-schema
28 changes: 28 additions & 0 deletions src/util/bash-completion/mdb-sql
@@ -0,0 +1,28 @@
#-*- mode: shell-script;-*-
have mdb-sql &&
_mdb_sql()
{
local cur prev

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

if [[ "$prev" == -d ]] ; then
return 0
elif [[ "$prev" == -@(i|-input|o|-output) ]] ; then
_filedir
elif [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-H --no-header \
-F --no-footer \
-p --no-pretty-print \
-d --delimiter \
-i --input \
-o --output \
-h --help' -- $cur ) )
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_sql mdb-sql
28 changes: 28 additions & 0 deletions src/util/bash-completion/mdb-tables
@@ -0,0 +1,28 @@
#-*- mode: shell-script;-*-
have mdb-tables &&
_mdb_tables()
{
local cur prev

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

if [[ "$prev" == -@(d|-delimiter) ]]; then
return 0
elif [[ "$prev" == -@(t|-type) ]]; then
COMPREPLY=( $( compgen -W 'form table macro systable report query linkedtable module relationship dbprop any all' -- $cur ) )
return 0
elif [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-S --system\
-1 --single-column \
-d --delimiter \
-t --type \
-T --showtype \
-h --help' -- $cur ) )
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_tables mdb-tables
17 changes: 17 additions & 0 deletions src/util/bash-completion/mdb-ver
@@ -0,0 +1,17 @@
#-*- mode: shell-script;-*-
have mdb-ver &&
_mdb_ver()
{
local cur

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}

if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-M -h --help' -- $cur ) )
else
_filedir '@(mdb|mdw|accdb)'
fi
return 0
} &&
complete -F _mdb_ver mdb-ver

0 comments on commit 584119e

Please sign in to comment.