The previous function regex required explicit matching of function
bodies using `{`, `(`, `((`, or `[[`, which caused several issues:
- It failed to capture valid functions where `{` was on the next line
due to line continuation (`\`).
- It did not recognize functions with single command body, such as
`x () echo hello`.
Replacing the function body matching logic with `.*$`, ensures
that everything on the function definition line is captured.
Additionally, the word regex is refined to better recognize shell
syntax, including additional parameter expansion operators and
command-line options.
Signed-off-by: Moumita Dhar <dhar61595@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
32 lines
276 B
Plaintext
32 lines
276 B
Plaintext
new_var=10
|
|
x=456
|
|
echo $2
|
|
echo $USERNAME
|
|
${HOMEDIR}
|
|
((a+=b))
|
|
((a*=b))
|
|
((a/=b))
|
|
((a%=b))
|
|
((a|=b))
|
|
((a^=b))
|
|
((a==b))
|
|
((a!=b))
|
|
((a<=b))
|
|
((a>=b))
|
|
$((a<<b))
|
|
$((a>>b))
|
|
$((a&&b))
|
|
$((a||b))
|
|
${a:-b}
|
|
${a:=b}
|
|
${a:+b}
|
|
${a:?b}
|
|
${a##*/}
|
|
${a%%.*}
|
|
${a^^}
|
|
${a,,}
|
|
${!a}
|
|
${a[@]}
|
|
ls -x
|
|
ls --color
|