completely 0.8.0.rc4 → 0.8.0.rc5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/completely/completions.rb +6 -0
- data/lib/completely/templates/pattern-config/template.erb +14 -9
- data/lib/completely/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9fdb300c1ddaaf4ab1cfa6ca3e0b1371f4fbf33f1a22f29357bae06da0a973fc
|
|
4
|
+
data.tar.gz: 3c812320dc20d2b9c13bf08e5cff2c596cd873880d8ec5b19b3a0bee68afd875
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83f853427d2f54f0b86d736c1d54e526a74806b643c7d4dc12ea857eeacde38e18b8272374253845e697545168d0afcc9ec48d52fad7c00969d4be972c919b26
|
|
7
|
+
data.tar.gz: 8f463487ca5084e78b11875f3b1d591359c0252055cdd44bb9df06024076b0dc6627647e9d30cd8beaeab1d97ec8b06eb1d986b634513eb5bb8e63184514daad
|
data/README.md
CHANGED
|
@@ -137,6 +137,12 @@ module Completely
|
|
|
137
137
|
end
|
|
138
138
|
end
|
|
139
139
|
|
|
140
|
+
def pattern_has_unique_options?
|
|
141
|
+
pattern_routes.any? do |route|
|
|
142
|
+
pattern_route_options(route).any? { |option| !option[:repeatable] }
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
|
|
140
146
|
def pattern_source_empty?(source)
|
|
141
147
|
source[:items].empty?
|
|
142
148
|
end
|
|
@@ -16,6 +16,19 @@
|
|
|
16
16
|
return 1
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
% if pattern_has_unique_options?
|
|
20
|
+
<%= function_name %>_option_seen() {
|
|
21
|
+
local completed_option option_name
|
|
22
|
+
for completed_option in "${completed_options[@]}"; do
|
|
23
|
+
for option_name in "$@"; do
|
|
24
|
+
[[ "$completed_option" == "$option_name" ]] && return 0
|
|
25
|
+
done
|
|
26
|
+
done
|
|
27
|
+
|
|
28
|
+
return 1
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
% end
|
|
19
32
|
<%= function_name %>_resolve_route() {
|
|
20
33
|
route_id=
|
|
21
34
|
route_word_count=-1
|
|
@@ -108,15 +121,7 @@
|
|
|
108
121
|
% if option[:repeatable]
|
|
109
122
|
words+=(<%= option[:names].map { |name| %["#{bash_escape name}"] }.join(' ') %>)
|
|
110
123
|
% else
|
|
111
|
-
|
|
112
|
-
for completed_option in "${completed_options[@]}"; do
|
|
113
|
-
case "$completed_option" in
|
|
114
|
-
<%= option[:names].map { |name| bash_escape name }.join('|') %>) option_seen=1 ;;
|
|
115
|
-
esac
|
|
116
|
-
done
|
|
117
|
-
if ((!option_seen)); then
|
|
118
|
-
words+=(<%= option[:names].map { |name| %["#{bash_escape name}"] }.join(' ') %>)
|
|
119
|
-
fi
|
|
124
|
+
<%= function_name %>_option_seen <%= option[:names].map { |name| %["#{bash_escape name}"] }.join(' ') %> || words+=(<%= option[:names].map { |name| %["#{bash_escape name}"] }.join(' ') %>)
|
|
120
125
|
% end
|
|
121
126
|
% end
|
|
122
127
|
while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "${words[*]}" -- "$cur")
|
data/lib/completely/version.rb
CHANGED