diff options
| author | Moumita Dhar <dhar61595@gmail.com> | 2025-05-16 20:15:12 +0530 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-05-16 11:52:41 -0700 |
| commit | ea8a71b40d3fdc91180b951c829cdf41bb6f7da0 (patch) | |
| tree | a2aa0fc70638cffd4675d6d4e3723f183811886c /t/t4034/bash/post | |
| parent | The fifteenth batch (diff) | |
| download | git-ea8a71b40d3fdc91180b951c829cdf41bb6f7da0.tar.gz git-ea8a71b40d3fdc91180b951c829cdf41bb6f7da0.zip | |
userdiff: extend Bash pattern to cover more shell function forms
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>
Diffstat (limited to 't/t4034/bash/post')
| -rw-r--r-- | t/t4034/bash/post | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/t/t4034/bash/post b/t/t4034/bash/post new file mode 100644 index 0000000000..2bbee8936d --- /dev/null +++ b/t/t4034/bash/post @@ -0,0 +1,31 @@ +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 |
