Support POSIX, bashism and mixed function declarations, all four
compound command types, trailing comments and mixed whitespace.
Even though Bash allows locale-dependent characters in function names
<https://unix.stackexchange.com/a/245336/3645>, only detect function
names with characters allowed by POSIX.1-2017
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_235>
for simplicity. This should cover the vast majority of use cases, and
produces system-agnostic results.
Since a word pattern has to be specified, but there is no easy way to
know the default word pattern, use the default `IFS` characters for a
starter. A later patch can improve this.
Signed-off-by: Victor Engmark <victor@engmark.name>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Victor Engmark committedOct 22, 2020 at 12:45 UTC2ff6c34612057baccbd841524106c5a05f6be6d6
18 files changed+91
Documentation/gitattributes.txt
+3
index 2d0a03715b..e84e104f93 100644--- a/Documentation/gitattributes.txt+++ b/Documentation/gitattributes.txt@@ -802,6 +802,9 @@ patterns are available: - `ada` suitable for source code in the Ada language.+- `bash` suitable for source code in the Bourne-Again SHell language.+ Covers a superset of POSIX shell function definitions.+ - `bibtex` suitable for files with BibTeX coded references. - `cpp` suitable for source code in the C and C++ languages.