Skip to content

Commit 650ecc3

Browse files
committed
refactor flag case view
1 parent 67acba7 commit 650ecc3

File tree

3 files changed

+28
-27
lines changed

3 files changed

+28
-27
lines changed

lib/bashly/views/flag/case.erb

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,4 @@
11
<%= view_marker %>
22
<%= aliases.join " | " %> )
33
<%= render(:conflicts).indent 2 %>
4-
% if arg
5-
if [[ -n ${2+x} ]]; then
6-
<%= render(:validations).indent 4 %>
7-
% if repeatable
8-
if [[ -z ${args[<%= name %>]+x} ]]; then
9-
args[<%= name %>]="\"$2\""
10-
else
11-
args[<%= name %>]="${args[<%= name %>]} \"$2\""
12-
fi
13-
% else
14-
args[<%= name %>]="$2"
15-
% end
16-
shift
17-
shift
18-
else
19-
printf "%s\n" "<%= strings[:flag_requires_an_argument] % { name: name, usage: usage_string } %>"
20-
exit 1
21-
fi
22-
% else
23-
% if repeatable
24-
(( args[<%= name %>]+=1 ))
25-
% else
26-
args[<%= name %>]=1
27-
% end
28-
shift
29-
% end
30-
;;
4+
<%= render(arg ? :case_arg : :case_no_arg).indent 2 %>

lib/bashly/views/flag/case_arg.erb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<%= view_marker %>
2+
if [[ -n ${2+x} ]]; then
3+
<%= render(:validations).indent 2 %>
4+
% if repeatable
5+
if [[ -z ${args[<%= name %>]+x} ]]; then
6+
args[<%= name %>]="\"$2\""
7+
else
8+
args[<%= name %>]="${args[<%= name %>]} \"$2\""
9+
fi
10+
% else
11+
args[<%= name %>]="$2"
12+
% end
13+
shift
14+
shift
15+
else
16+
printf "%s\n" "<%= strings[:flag_requires_an_argument] % { name: name, usage: usage_string } %>"
17+
exit 1
18+
fi
19+
;;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<%= view_marker %>
2+
% if repeatable
3+
(( args[<%= name %>]+=1 ))
4+
% else
5+
args[<%= name %>]=1
6+
% end
7+
shift
8+
;;

0 commit comments

Comments
 (0)