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

[PATCH] userdiff: Add diff driver for Kotlin lang and tests

From
Jaydeep P Das <jaydeepjd.8914@gmail.com>
Date
Mar 1, 2022, 07:02 UTC
Message-ID
<20220301070226.2477769-2-jaydeepjd.8914@gmail.com>
In-Reply-To
<20220301070226.2477769-1-jaydeepjd.8914@gmail.com>

The xfuncname pattern finds func/class declarations in diffs to display as a hunk header.

This patch adds xfuncname regex and some respective tests for Kotlin language.

Also modifies `Documentation./gitattributes.txt` to state the same.

Signed-off-by: Jaydeep P Das <jaydeepjd.8914@gmail.com>
---
 Documentation/gitattributes.txt | 2 ++
 t/t4018/kotlin-class            | 5 +++++
 t/t4018/kotlin-enum-class       | 5 +++++
 t/t4018/kotlin-fun              | 5 +++++
 t/t4018/kotlin-inheritace-class | 5 +++++
 t/t4018/kotlin-inline-class     | 5 +++++
 t/t4018/kotlin-interface        | 5 +++++
 t/t4018/kotlin-nested-fun       | 9 +++++++++
 t/t4018/kotlin-public-class     | 5 +++++
 t/t4018/kotlin-sealed-class     | 5 +++++
 userdiff.c                      | 8 ++++++++
 11 files changed, 59 insertions(+)
 create mode 100644 t/t4018/kotlin-class
 create mode 100644 t/t4018/kotlin-enum-class
 create mode 100644 t/t4018/kotlin-fun
 create mode 100644 t/t4018/kotlin-inheritace-class
 create mode 100644 t/t4018/kotlin-inline-class
 create mode 100644 t/t4018/kotlin-interface
 create mode 100644 t/t4018/kotlin-nested-fun
 create mode 100644 t/t4018/kotlin-public-class
 create mode 100644 t/t4018/kotlin-sealed-class
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index a71dad2674..94d06dc337 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -829,6 +829,8 @@ patterns are available:
 
 - `java` suitable for source code in the Java language.
 
+- `kotlin` suitable for source code in the Kotlin language
+
 - `markdown` suitable for Markdown documents.
 
 - `matlab` suitable for source code in the MATLAB and Octave languages.
diff --git a/t/t4018/kotlin-class b/t/t4018/kotlin-class
new file mode 100644
index 0000000000..bb864f22e6
--- /dev/null
+++ b/t/t4018/kotlin-class
@@ -0,0 +1,5 @@
+class RIGHT {
+	//comment
+	//comment
+	return ChangeMe
+}
diff --git a/t/t4018/kotlin-enum-class b/t/t4018/kotlin-enum-class
new file mode 100644
index 0000000000..8885f908fd
--- /dev/null
+++ b/t/t4018/kotlin-enum-class
@@ -0,0 +1,5 @@
+enum class RIGHT{
+	// Left
+	// a comment
+	ChangeMe
+}
diff --git a/t/t4018/kotlin-fun b/t/t4018/kotlin-fun
new file mode 100644
index 0000000000..2a60280256
--- /dev/null
+++ b/t/t4018/kotlin-fun
@@ -0,0 +1,5 @@
+fun RIGHT(){
+	//a comment
+	//b comment
+    return ChangeMe()
+}
diff --git a/t/t4018/kotlin-inheritace-class b/t/t4018/kotlin-inheritace-class
new file mode 100644
index 0000000000..77376c1f05
--- /dev/null
+++ b/t/t4018/kotlin-inheritace-class
@@ -0,0 +1,5 @@
+open class RIGHT{
+	// a comment
+	// b comment
+	// ChangeMe
+}
diff --git a/t/t4018/kotlin-inline-class b/t/t4018/kotlin-inline-class
new file mode 100644
index 0000000000..7bf46dd8d4
--- /dev/null
+++ b/t/t4018/kotlin-inline-class
@@ -0,0 +1,5 @@
+value class RIGHT(Args){
+	// a comment
+	// b comment
+	ChangeMe
+}
diff --git a/t/t4018/kotlin-interface b/t/t4018/kotlin-interface
new file mode 100644
index 0000000000..f686ba7770
--- /dev/null
+++ b/t/t4018/kotlin-interface
@@ -0,0 +1,5 @@
+interface RIGHT{
+	//another comment
+	//another comment
+	//ChangeMe
+}
diff --git a/t/t4018/kotlin-nested-fun b/t/t4018/kotlin-nested-fun
new file mode 100644
index 0000000000..12186858cb
--- /dev/null
+++ b/t/t4018/kotlin-nested-fun
@@ -0,0 +1,9 @@
+class LEFT{
+	class CENTER{
+		fun RIGHT(  a:Int){
+			//comment
+			//comment
+			ChangeMe
+		}
+	}
+}
diff --git a/t/t4018/kotlin-public-class b/t/t4018/kotlin-public-class
new file mode 100644
index 0000000000..9433fcc226
--- /dev/null
+++ b/t/t4018/kotlin-public-class
@@ -0,0 +1,5 @@
+public class RIGHT{
+	//comment1
+	//comment2
+	ChangeMe
+}
diff --git a/t/t4018/kotlin-sealed-class b/t/t4018/kotlin-sealed-class
new file mode 100644
index 0000000000..0efa4a4eaf
--- /dev/null
+++ b/t/t4018/kotlin-sealed-class
@@ -0,0 +1,5 @@
+sealed class RIGHT {
+	// a comment
+	// b comment
+	ChangeMe
+}
diff --git a/userdiff.c b/userdiff.c
index 8578cb0d12..a6cc6dc3b7 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -168,6 +168,14 @@ PATTERNS("java",
 	 "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
 	 "|[-+*/<>%&^|=!]="
 	 "|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
+PATTERNS("kotlin",
+	 /* fun, class, interface, declarations */
+  	 "^[ \t]*(([a-z]+[ \t]+)*(fun|class|interface)[ \t]+.*[ \t]*)$",
+	 /* -- */
+	 "[a-zA-Z_][a-zA-Z0-9_]*"
+	 "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
+	 "|[-+*/<>%&^|=!]="
+	 "|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
 PATTERNS("markdown",
 	 "^ {0,3}#{1,6}[ \t].*",
 	 /* -- */
-- 
2.35.1
Previous: Jaydeep P DasNext: Junio C Hamano
Message 2 of 48 in “userdiff: Add diff driver for Kotlin lang and tests”
  1. Jaydeep P DasMar 1, 2022
  2. userdiff: Add diff driver for Kotlin lang and testsJaydeep P Das, Mar 1, 2022
  3. Junio C HamanoMar 1, 2022
  4. Ævar Arnfjörð BjarmasonMar 1, 2022
  5. jaydeepjd.8914@gmail.comMar 1, 2022
  6. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 1, 2022
  7. Junio C HamanoMar 1, 2022
  8. jaydeepjd.8914@gmail.comMar 1, 2022
  9. Johannes SixtMar 1, 2022
  10. Johannes SixtMar 1, 2022
  11. [GSoC][PATCHv2] userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  12. userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  13. Johannes SixtMar 2, 2022
  14. jaydeepjd.8914@gmail.comMar 2, 2022
  15. jaydeepjd.8914@gmail.comMar 2, 2022
  16. [GSoC][PATCHv3] userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  17. userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  18. Johannes SixtMar 2, 2022
  19. Jaydeep DasMar 3, 2022
  20. Ævar Arnfjörð BjarmasonMar 3, 2022
  21. Junio C HamanoMar 3, 2022
  22. Johannes SixtMar 3, 2022
  23. Jaydeep DasMar 4, 2022
  24. Johannes SixtMar 4, 2022
  25. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 3, 2022
  26. Junio C HamanoMar 4, 2022
  27. jaydeepjd.8914@gmail.comMar 4, 2022
  28. Johannes SixtMar 4, 2022
  29. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 5, 2022
  30. Johannes SixtMar 5, 2022
  31. jaydeepjd.8914@gmail.comMar 5, 2022
  32. Johannes SixtMar 5, 2022
  33. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 6, 2022
  34. Johannes SixtMar 7, 2022
  35. jaydeepjd.8914@gmail.comMar 8, 2022
  36. Johannes SixtMar 8, 2022
  37. jaydeepjd.8914@gmail.comMar 10, 2022
  38. Jaydeep DasMar 10, 2022
  39. Johannes SixtMar 10, 2022
  40. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 11, 2022
  41. Johannes SixtMar 11, 2022
  42. jaydeepjd.8914@gmail.comMar 12, 2022
  43. Johannes SixtMar 12, 2022
  44. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 12, 2022
  45. Johannes SixtMar 12, 2022
  46. jaydeepjd.8914@gmail.comMar 13, 2022
  47. jaydeepjd.8914@gmail.comMar 13, 2022
  48. Johannes SixtMar 13, 2022

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.