Skip to content

Commit 08c361d

Browse files
committed
fix repeatable arg escaping
1 parent 88b4198 commit 08c361d

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,32 @@
11
= view_marker
22

33
condition = "if"
4-
args.each do |arg|
5-
> escaped="$(printf '%q' "$1")"
4+
args.each_with_index do |arg, index|
5+
if index == 0
6+
> escaped="$(printf '%q' "$1")"
7+
end
68
> {{ condition }} [[ -z ${args['{{ arg.name }}']+x} ]]; then
79
if arg.repeatable
810
> args['{{ arg.name }}']="$escaped"
911
if arg.unique
1012
> unique_lookup["{{ arg.name }}:$escaped"]=1
1113
end
12-
> shift
1314
if arg.unique
1415
> elif [[ -z "${unique_lookup["{{ arg.name }}:$escaped"]:-}" ]]; then
15-
> args['{{ arg.name }}']="${args[{{ arg.name }}]} $escaped"
16+
> args['{{ arg.name }}']="${args['{{ arg.name }}']} $escaped"
1617
> unique_lookup["{{ arg.name }}:$escaped"]=1
17-
> shift
18-
> else
19-
> shift
2018
else
2119
> else
22-
> args['{{ arg.name }}']="${args[{{ arg.name }}]} $escaped"
23-
> shift
20+
> args['{{ arg.name }}']="${args['{{ arg.name }}']} $escaped"
2421
end
2522

2623
else
27-
> args['{{ arg.name }}']=$1
28-
> shift
24+
> args['{{ arg.name }}']="$1"
2925

3026
end
3127
condition = "elif"
3228
end
3329

3430
> fi
31+
> shift
3532
>

0 commit comments

Comments
 (0)