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/pre | |
| parent | cb96e1697ad6e54d11fc920c95f82977f8e438f8 (diff) | |
| download | git-ea8a71b40d3fdc91180b951c829cdf41bb6f7da0.tar.xz | |
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/pre')
| -rw-r--r-- | t/t4034/bash/pre | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/t/t4034/bash/pre b/t/t4034/bash/pre new file mode 100644 index 0000000000..8d22039c40 --- /dev/null +++ b/t/t4034/bash/pre @@ -0,0 +1,31 @@ +my_var=10 +x=123 +echo $1 +echo $USER +${HOME} +((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 -a +ls --all |
