equal
deleted
inserted
replaced
|
1 # Relational pipes |
|
2 # Copyright © 2019 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_in_filesystem_completion() { |
|
17 local w0 w1 w2 |
|
18 |
|
19 COMPREPLY=() |
|
20 w0=${COMP_WORDS[COMP_CWORD]} |
|
21 w1=${COMP_WORDS[COMP_CWORD-1]} |
|
22 w2=${COMP_WORDS[COMP_CWORD-2]} |
|
23 |
|
24 |
|
25 FILE_FIELDS=( |
|
26 "path" |
|
27 "name" |
|
28 "size" |
|
29 "path_absolute" |
|
30 "path_canonical" |
|
31 "type" |
|
32 "symlink_target_type" |
|
33 "symlink_target" |
|
34 "owner" |
|
35 "group" |
|
36 "content" |
|
37 ) |
|
38 |
|
39 XATTR_FIELDS=( |
|
40 "mime_type" |
|
41 "charset" |
|
42 "creator" |
|
43 "xdg.comment" |
|
44 "xdg.origin.url" |
|
45 "xdg.origin.email.subject" |
|
46 "xdg.language" |
|
47 "xdg.publisher" |
|
48 "dublincore.title" |
|
49 "dublincore.creator" |
|
50 "dublincore.rights" |
|
51 ) |
|
52 |
|
53 |
|
54 if [[ "$w1" == "--relation" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
55 elif [[ "$w1" == "--as" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
56 elif [[ "$w1" == "--option" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
57 elif [[ "$w2" == "--option" && "x$w0" == "x" ]]; then COMPREPLY=("''") |
|
58 elif [[ "$w1" == "--file" ]]; then COMPREPLY=($(compgen -W "${FILE_FIELDS[*]}" -- "$w0")) |
|
59 elif [[ "$w1" == "--xattr" ]]; then COMPREPLY=($(compgen -W "${XATTR_FIELDS[*]}" -- "$w0")) |
|
60 else |
|
61 OPTIONS=( |
|
62 "--relation" |
|
63 "--file" |
|
64 "--xattr" |
|
65 "--as" |
|
66 "--option" |
|
67 ) |
|
68 COMPREPLY=($(compgen -W "${OPTIONS[*]}" -- "$w0")) |
|
69 fi |
|
70 } |
|
71 |
|
72 complete -F _relpipe_in_filesystem_completion relpipe-in-filesystem |