git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GSoC][RFC/PATCH] userdiff: added support for diffing shell scripts

From
KJKapil Jain <jkapil.cs@gmail.com>
Date
Mar 22, 2019, 16:06 UTC
Message-ID
<20190322160615.27124-1-jkapil.cs@gmail.com>
Signed-off-by: Kapil Jain <jkapil.cs@gmail.com>
---

The test written does not pass, imo there's some problem with the regex part. please let me know about the fault.

 t/t4034-diff-words.sh | 2 ++
 t/t4034/shell/expect  | 6 ++++++
 t/t4034/shell/post    | 1 +
 t/t4034/shell/pre     | 1 +
 userdiff.c            | 7 +++++++
 5 files changed, 17 insertions(+)
 create mode 100644 t/t4034/shell/expect
 create mode 100644 t/t4034/shell/post
 create mode 100644 t/t4034/shell/pre
diff --git a/t/t4034-diff-words.sh b/t/t4034-diff-words.sh
index 912df91226..74366e6826 100755
--- a/t/t4034-diff-words.sh
+++ b/t/t4034-diff-words.sh
@@ -314,6 +314,8 @@ test_language_driver php
 test_language_driver python
 test_language_driver ruby
 test_language_driver tex
+test_language_driver shell
+
 
 test_expect_success 'word-diff with diff.sbe' '
 	cat >expect <<-\EOF &&
diff --git a/t/t4034/shell/expect b/t/t4034/shell/expect
new file mode 100644
index 0000000000..f2f65e7a9b
--- /dev/null
+++ b/t/t4034/shell/expect
@@ -0,0 +1,6 @@
+<BOLD>diff --git a/pre b/post<RESET>
+<BOLD>index 2fc00ad..cd34305 100644<RESET>
+<BOLD>--- a/pre<RESET>
+<BOLD>+++ b/post<RESET>
+<CYAN>@@ -1 +1 @@<RESET>
+<RED>[-$TEST_DIRECTORY-]<RESET><GREEN>{+$TEST_DIR+}<RESET>
diff --git a/t/t4034/shell/post b/t/t4034/shell/post
new file mode 100644
index 0000000000..43a84e0188
--- /dev/null
+++ b/t/t4034/shell/post
@@ -0,0 +1 @@
+$TEST_DIR
diff --git a/t/t4034/shell/pre b/t/t4034/shell/pre
new file mode 100644
index 0000000000..32440f90b7
--- /dev/null
+++ b/t/t4034/shell/pre
@@ -0,0 +1 @@
+$TEST_DIRECTORY
diff --git a/userdiff.c b/userdiff.c
index 3a78fbf504..936447a0bc 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -158,6 +158,13 @@ PATTERNS("csharp",
 	 "[a-zA-Z_][a-zA-Z0-9_]*"
 	 "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
 	 "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->"),
+
+PATTERNS("shell",
+  /* Function Names */
+  "([A-Za-z_][A-Za-z0-9_]*)[[:space:]]*\\([[:space:]]*\\)[[:space:]]*\\{",
+  /* Words */
+  "([$#@A-Za-z_\"\'][$#@A-Za-z0-9_\"\']*)"),
+
 IPATTERN("css",
 	 "![:;][[:space:]]*$\n"
 	 "^[_a-z0-9].*$",
-- 
2.14.2
Next: Christian Couder
Message 1 of 9 in “userdiff: added support for diffing shell scripts”
  1. Kapil JainMar 22, 2019
  2. Christian CouderMar 23, 2019
  3. Kapil JainMar 24, 2019
  4. Christian CouderMar 24, 2019
  5. Kapil JainMar 24, 2019
  6. Thomas GummererMar 28, 2019
  7. Kapil JainMar 29, 2019
  8. Thomas GummererMar 29, 2019
  9. [GSoC][RFC/PATCH 2/2] userdiff: added shell script support, clears testKapil Jain, Mar 24, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.