]> git.ipfire.org Git - thirdparty/git.git/commitdiff
userdiff: add support for R programming language
authorRodrigo Carvalho <rodrigorsdc@gmail.com>
Thu, 29 May 2025 22:16:41 +0000 (19:16 -0300)
committerJunio C Hamano <gitster@pobox.com>
Thu, 29 May 2025 22:29:37 +0000 (15:29 -0700)
Add userdiff patterns to support R programming language.

Also, add three userdiff tests for R programming language
files. These files define simple function and nested function,
with and without indentation.

Signed-off-by: Rodrigo Carvalho <rodrigorsdc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4018/r-indent [new file with mode: 0644]
t/t4018/r-indent-nested [new file with mode: 0644]
t/t4018/r-noindent [new file with mode: 0644]
userdiff.c

diff --git a/t/t4018/r-indent b/t/t4018/r-indent
new file mode 100644 (file)
index 0000000..9df440f
--- /dev/null
@@ -0,0 +1,6 @@
+RIGHT <- function(a, b) {
+    c = mean(a, b)
+    d = c + 2
+    ChangeMe()
+    return (d)
+}
diff --git a/t/t4018/r-indent-nested b/t/t4018/r-indent-nested
new file mode 100644 (file)
index 0000000..30412e6
--- /dev/null
@@ -0,0 +1,10 @@
+LEFT = function(a, b) {
+    c = mean(a, b)
+    RIGHT = function(d, e) {
+        f = var(d, e)
+        g = f + 1
+        ChangeMe()
+        return (g)
+    }
+    return (RIGHT(2, 3))
+}
diff --git a/t/t4018/r-noindent b/t/t4018/r-noindent
new file mode 100644 (file)
index 0000000..6d9b01f
--- /dev/null
@@ -0,0 +1,6 @@
+RIGHT <- function(a, b) {
+c = mean(a, b)
+d = c + 2
+ChangeMe()
+return (c)
+}
index 05776ccd10401c0066ea59213c42751fe40a71e4..fe710a68bfdfa64f490873335bd40adc5db8cd78 100644 (file)
@@ -327,6 +327,10 @@ PATTERNS("python",
         "|[-+0-9.e]+[jJlL]?|0[xX]?[0-9a-fA-F]+[lL]?"
         "|[-+*/<>%&^|=!]=|//=?|<<=?|>>=?|\\*\\*=?"),
         /* -- */
+PATTERNS("r",
+       "^[ \t]*([a-zA-z][a-zA-Z0-9_.]*[ \t]*(<-|=)[ \t]*function.*)$",
+       /* -- */
+       "[^ \t]+"),
 PATTERNS("ruby",
         "^[ \t]*((class|module|def)[ \t].*)$",
         /* -- */