From: Patrick Steinhardt <ps@pks.im>
To: Sergius Nyah <sergiusnyah@gmail.com>
Cc: git@vger.kernel.org, christian.couder@gmail.com,
gitster@pobox.com, pk@pks.im, shyamthakkar001@gmail.com
Subject: Re: [GSOC][PATCH] userdiff: Add JavaScript function patterns
Date: Mon, 4 Mar 2024 10:04:07 +0100 [thread overview]
Message-ID: <ZeWOhxBDvyjH8gW7@tanuki> (raw)
In-Reply-To: <20240301074048.188835-1-sergiusnyah@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2914 bytes --]
On Fri, Mar 01, 2024 at 08:40:48AM +0100, Sergius Nyah wrote:
> This commit adds a patterns used to match JavaScript functions.
> It now correctly identifies function declarations, function expressions,
> and functions defined inside blocks. Add test for corresponding change in userdiff.
>
> Signed-off-by: Sergius Nyah <sergiusnyah@gmail.com>
> ---
> t/t4018-diff-funcname.sh | 22 ++++++++++++++++++++++
> userdiff.c | 12 ++++++++++++
> 2 files changed, 34 insertions(+)
>
> diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
> index e026fac1f4..d35cce18a0 100755
> --- a/t/t4018-diff-funcname.sh
> +++ b/t/t4018-diff-funcname.sh
> @@ -120,3 +120,25 @@ do
> done
>
> test_done
> +
> +test_expect_success 'identify builtin patterns in JavaScript' '
> + # setup
> + echo "function myFunction() { return true; }" > test.js &&
> + echo "var myVar = function() { return false; }" >> test.js &&
> + git add test.js &&
> + git commit -m "add test.js" &&
> +
> + # modify the file
> + echo "function myFunction() { return false; }" > test.js &&
> + echo "var myVar = function() { return true; }" >> test.js &&
> +
> + # command under test
> + git diff >output &&
> +
> + # check results
> + test_i18ngrep "function myFunction() { return true; }" output &&
> + test_i18ngrep "function myFunction() { return false; }" output &&
> + test_i18ngrep "var myVar = function() { return false; }" output &&
> + test_i18ngrep "var myVar = function() { return true; }" output
> +'
> +test_done
> \ No newline at end of file
This `test_done` only needs to be added because you add the new test
before the preceding `test_done`. Instead, you should move up this test
so that it comes before it.
> diff --git a/userdiff.c b/userdiff.c
> index 2b1dab2649..bbe2bcb9a3 100644
> --- a/userdiff.c
> +++ b/userdiff.c
> +PATTERNS("javascript",
> + /* Looks for lines that start with optional whitespace, followed
Multi-line comments should start with their delimiters on separate
lines. So the "/*" should be on its own line.
Also, the code should be indented with tabs and not spaces. It might
help to read through Documentation/CodingGuidelines to get more familiar
with Git's coding style.
Patrick
> + * by 'function'* and any characters (for function declarations),
> + * or valid JavaScript identifiers, equals sign '=', 'function' keyword
> + * and any characters (for function expressions).
> + * Also considers functions defined inside blocks with '{...}'.
> + */
> + "^[ \t]*(function[ \t]*.*|[a-zA-Z_$][0-9a-zA-Z_$]*[ \t]*=[ \t]*function[ \t]*.*|(\\{[ \t]*)?)\n",
> + /* This pattern matches JavaScript identifiers */
> + "[a-zA-Z_$][0-9a-zA-Z_$]*"
> + "|[-+0-9.eE]+|0[xX][0-9a-fA-F]+"
> + "|[-+*/<>%&^|=!:]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\|"),
> --
> 2.43.2
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-03-04 9:04 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-09 19:55 [GSOC][RFC] Add more builtin patterns for userdiff, as Mircroproject Sergius Nyah
2024-01-10 11:33 ` Christian Couder
[not found] ` <CANAnif90Bqp2pWCn_71t-Fss6wspo+==vMdYsX+Wt5m=4Ocpng@mail.gmail.com>
[not found] ` <CAP8UFD0ELy2WegVYdxi_O5UpHS4MyOPp4tuAQK+XvvNmABc2ZA@mail.gmail.com>
[not found] ` <CAP8UFD3e=Zv2wkx5tswCz05Vwn3vD68Vw-TD6SoENWK+norYsw@mail.gmail.com>
2024-01-11 14:23 ` Fwd: " Sergius Nyah
2024-01-11 15:11 ` Christian Couder
2024-01-11 15:42 ` Sergius Nyah
2024-02-27 14:19 ` [GSOC][PATCH 0/2] Add builtin patterns for userdiff in JavaScript, as Microproject Sergius Nyah
2024-02-27 14:19 ` [PATCH 1/2] Subject: [GSOC][RFC PATCH 1/2] Add builtin patterns for JavaScript function detection in userdiff Sergius Nyah
2024-02-27 14:19 ` [PATCH 2/2] Subject:[GSOC] [RFC PATCH 2/2] Add test for JavaScript function detection in Git diffs Sergius Nyah
2024-02-27 14:21 ` [GSOC][PATCH 0/2] Add builtin patterns for userdiff in JavaScript, as Microproject Sergius Nyah
2024-02-27 14:21 ` [PATCH 1/2] Subject: [GSOC][RFC PATCH 1/2] Add builtin patterns for JavaScript function detection in userdiff Sergius Nyah
2024-02-27 14:21 ` [PATCH 2/2] Subject:[GSOC] [RFC PATCH 2/2] Add test for JavaScript function detection in Git diffs Sergius Nyah
2024-02-27 14:25 ` [GSOC][PATCH 0/2] Add builtin patterns for userdiff in JavaScript, as Microproject Sergius Nyah
2024-02-27 14:25 ` [PATCH 1/2] Subject: [GSOC][RFC PATCH 1/2] Add builtin patterns for JavaScript function detection in userdiff Sergius Nyah
2024-02-27 14:25 ` [PATCH 2/2] Subject:[GSOC] [RFC PATCH 2/2] Add test for JavaScript function detection in Git diffs Sergius Nyah
2024-02-27 16:02 ` [GSOC][PATCH 0/2] Add builtin patterns for userdiff in JavaScript, as Microproject Sergius Nyah
2024-02-27 16:02 ` [PATCH 1/2] Subject: [GSOC][RFC PATCH 1/2] Add builtin patterns for JavaScript function detection in userdiff Sergius Nyah
2024-02-27 19:06 ` Ghanshyam Thakkar
2024-02-27 21:05 ` Sergius Nyah
2024-02-27 16:02 ` [PATCH 2/2] Subject:[GSOC] [RFC PATCH 2/2] Add test for JavaScript function detection in Git diffs Sergius Nyah
2024-02-28 15:00 ` [GSOC][PATCH] Userdiff: add builtin patterns for JavaScript Sergius Nyah
2024-02-28 18:19 ` Junio C Hamano
2024-02-29 10:11 ` [GSOC][PATCH] userdiff: " Sergius Nyah
2024-02-29 12:01 ` Ghanshyam Thakkar
2024-03-01 7:40 ` [GSOC][PATCH] userdiff: Add JavaScript function patterns Sergius Nyah
2024-03-02 10:28 ` Christian Couder
2024-03-02 10:54 ` Christian Couder
2024-03-02 17:13 ` Junio C Hamano
2024-03-04 9:04 ` Patrick Steinhardt [this message]
2024-03-12 13:14 ` [GSOC][PATCH v2 1/3]t4018-diff-funcname: use test_grep instead of test_i18ngrep Sergius Nyah
2024-03-12 13:14 ` [GSOC][PATCH v2 2/3]t4034-diff-words: add javascript language driver Sergius Nyah
2024-03-12 13:14 ` [GSOC][PATCH v2 3/3]userdiff: remove trailing whitespaces, fix multiline comments Sergius Nyah
2024-03-19 10:10 ` [GSOC][PATCH v2]userdiff: improve code quality and add JavaScript language driver Sergius Nyah
2024-03-19 21:02 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZeWOhxBDvyjH8gW7@tanuki \
--to=ps@pks.im \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pk@pks.im \
--cc=sergiusnyah@gmail.com \
--cc=shyamthakkar001@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.