|
1 # Relational pipes |
|
2 # Copyright © 2021 František Kučera (Frantovo.cz, GlobalCode.info) |
|
3 # |
|
4 # This program is free software: you can redistribute it and/or modify |
|
5 # it under the terms of the GNU General Public License as published by |
|
6 # the Free Software Foundation, version 3 of the License. |
|
7 # |
|
8 # This program is distributed in the hope that it will be useful, |
|
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
11 # GNU General Public License for more details. |
|
12 # |
|
13 # You should have received a copy of the GNU General Public License |
|
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
15 |
|
16 _relpipe_tr_sed_completion() { |
|
17 local w0 w1 w2 w3 |
|
18 |
|
19 COMPREPLY=() |
|
20 w0=${COMP_WORDS[COMP_CWORD]} |
|
21 w1=${COMP_WORDS[COMP_CWORD-1]} |
|
22 w2=${COMP_WORDS[COMP_CWORD-2]} |
|
23 w3=${COMP_WORDS[COMP_CWORD-3]} |
|
24 |
|
25 BOOLEAN_VALUES=( |
|
26 "true" |
|
27 "false" |
|
28 ) |
|
29 |
|
30 ENTITY_VALUES=( |
|
31 "relation" |
|
32 "attribute" |
|
33 "value" |
|
34 ) |
|
35 |
|
36 if [[ "$w1" == "--relation" && "x$w0" == "x" ]]; then COMPREPLY=("'.*'") |
|
37 elif [[ "$w1" == "--attribute" && "x$w0" == "x" ]]; then COMPREPLY=("'.*'") |
|
38 elif [[ "$w1" == "--value" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
39 elif [[ "$w1" == "--replacement" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
40 elif [[ "$w1" == "--modify" ]]; then COMPREPLY=($(compgen -W "${ENTITY_VALUES[*]}" -- "$w0")) |
|
41 elif [[ "$w1" == "--case-sensitive" ]]; then COMPREPLY=($(compgen -W "${ENTITY_VALUES[*]}" -- "$w0")) |
|
42 elif [[ "$w2" == "--case-sensitive" ]]; then COMPREPLY=($(compgen -W "${BOOLEAN_VALUES[*]}" -- "$w0")) |
|
43 elif [[ "$w1" == "--invert-match" ]]; then COMPREPLY=($(compgen -W "${ENTITY_VALUES[*]}" -- "$w0")) |
|
44 elif [[ "$w2" == "--invert-match" ]]; then COMPREPLY=($(compgen -W "${BOOLEAN_VALUES[*]}" -- "$w0")) |
|
45 else |
|
46 OPTIONS=( |
|
47 "--relation" |
|
48 "--attribute" |
|
49 "--value" |
|
50 "--replacement" |
|
51 "--modify" |
|
52 "--case-sensitive" |
|
53 "--invert-match" |
|
54 ) |
|
55 COMPREPLY=($(compgen -W "${OPTIONS[*]}" -- "$w0")) |
|
56 fi |
|
57 } |
|
58 |
|
59 complete -F _relpipe_tr_sed_completion relpipe-tr-sed |