aboutsummaryrefslogtreecommitdiffstats
path: root/t/t4018/bash-bashism-style-complete-line-capture
diff options
context:
space:
mode:
authorMoumita Dhar <dhar61595@gmail.com>2025-05-16 20:15:12 +0530
committerJunio C Hamano <gitster@pobox.com>2025-05-16 11:52:41 -0700
commitea8a71b40d3fdc91180b951c829cdf41bb6f7da0 (patch)
treea2aa0fc70638cffd4675d6d4e3723f183811886c /t/t4018/bash-bashism-style-complete-line-capture
parentThe fifteenth batch (diff)
downloadgit-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/t4018/bash-bashism-style-complete-line-capture')
-rw-r--r--t/t4018/bash-bashism-style-complete-line-capture4
1 files changed, 4 insertions, 0 deletions
diff --git a/t/t4018/bash-bashism-style-complete-line-capture b/t/t4018/bash-bashism-style-complete-line-capture
new file mode 100644
index 0000000000..070b979fa6
--- /dev/null
+++ b/t/t4018/bash-bashism-style-complete-line-capture
@@ -0,0 +1,4 @@
+function myfunc # RIGHT
+{
+ echo 'ChangeMe'
+}