equal
deleted
inserted
replaced
37 } |
37 } |
38 } |
38 } |
39 |
39 |
40 my $databasesFile = "$configDir/bash-completion/databases"; |
40 my $databasesFile = "$configDir/bash-completion/databases"; |
41 my $formattersFile = "$configDir/bash-completion/formatters"; |
41 my $formattersFile = "$configDir/bash-completion/formatters"; |
|
42 my $defaultFormatterFile = "$configDir/bash-completion/default-formatter"; |
42 my $formatterPropertiesDir = "$configDir/bash-completion/formatter-properties"; |
43 my $formatterPropertiesDir = "$configDir/bash-completion/formatter-properties"; |
43 |
44 |
44 print '#have sql-dk && |
45 print '#have sql-dk && |
45 _sql_dk_bash_completion_find_formatter() { |
46 _sql_dk_bash_completion_find_formatter() { |
46 local previous |
47 local previous |
47 for token in "$@"; do |
48 for token in "$@"; do |
48 if [ "x$previous" == "x--formatter" ]; then |
49 if [ "x$previous" == "x--formatter" ]; then |
49 echo -n "$token"; |
50 echo -n "$token"; |
|
51 return 0; |
50 fi |
52 fi |
51 previous="$token"; |
53 previous="$token"; |
52 done |
54 done |
|
55 |
|
56 if [ -f '.$defaultFormatterFile.' ]; then |
|
57 cat '.$defaultFormatterFile.' |
|
58 fi |
53 } |
59 } |
54 |
60 |
55 _sql_dk_bash_completion_formatter_property() { |
61 _sql_dk_bash_completion_formatter_property_name() { |
56 if [ -n "$formatter" ]; then # TODO: this does not match formatter name in apostrophes or quotes |
62 if [ -n "$formatter" ]; then # TODO: this does not match formatter name in apostrophes or quotes |
57 local formatter_dir='.$formatterPropertiesDir.'/$formatter |
63 local formatter_dir='.$formatterPropertiesDir.'/$formatter |
58 if [ -d $formatter_dir ]; then |
64 if [ -d $formatter_dir ]; then |
59 ls -1 $formatter_dir; |
65 ls -1 $formatter_dir; |
60 fi |
66 fi |
103 fi |
109 fi |
104 return 0 |
110 return 0 |
105 ;; |
111 ;; |
106 --formatter-property) |
112 --formatter-property) |
107 formatter=$( _sql_dk_bash_completion_find_formatter "${COMP_WORDS[@]}" ); |
113 formatter=$( _sql_dk_bash_completion_find_formatter "${COMP_WORDS[@]}" ); |
108 COMPREPLY=( $( compgen -W "$(_sql_dk_bash_completion_formatter_property )" -- $cur ) ); |
114 COMPREPLY=( $( compgen -W "$(_sql_dk_bash_completion_formatter_property_name )" -- $cur ) ); |
109 return 0; |
115 return 0; |
110 ;; |
116 ;; |
111 esac; |
117 esac; |
112 |
118 |
113 if [ "x${COMP_WORDS[COMP_CWORD-2]}" == "x--formatter-property" ]; then |
119 if [ "x${COMP_WORDS[COMP_CWORD-2]}" == "x--formatter-property" ]; then |