chainlint: recognize multi-line $(...) when command cuddled with "$("
For multi-line $(...) expressions nested within subshells, chainlint.sed only recognizes: x=$( echo foo && ... but it is not unlikely that test authors may also cuddle the command with the opening "$(", so support that style, as well: x=$(echo foo && ... The closing ")" is already correctly recognized when cuddled or not. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7e32a31b21
commit
06fc5c9f90
@ -216,7 +216,7 @@ s/.*\n//
|
||||
# "$(...)" -- command substitution; not closing ")"
|
||||
/\$([^)][^)]*)[^)]*$/bcheckchain
|
||||
# multi-line "$(...\n...)" -- command substitution; treat as nested subshell
|
||||
/\$([ ]*$/bnest
|
||||
/\$([^)]*$/bnest
|
||||
# "=(...)" -- Bash array assignment; not closing ")"
|
||||
/=(/bcheckchain
|
||||
# closing "...) &&"
|
||||
|
@ -6,4 +6,13 @@
|
||||
>> ) &&
|
||||
echo ok
|
||||
>) |
|
||||
sort
|
||||
sort &&
|
||||
(
|
||||
bar &&
|
||||
x=$(echo bar |
|
||||
cat
|
||||
>> ) &&
|
||||
y=$(echo baz |
|
||||
>> fip) &&
|
||||
echo fail
|
||||
>)
|
||||
|
@ -6,4 +6,13 @@
|
||||
) &&
|
||||
echo ok
|
||||
) |
|
||||
sort
|
||||
sort &&
|
||||
(
|
||||
bar &&
|
||||
x=$(echo bar |
|
||||
cat
|
||||
) &&
|
||||
y=$(echo baz |
|
||||
fip) &&
|
||||
echo fail
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user