diff options
| author | Rodrigo Carvalho <rodrigorsdc@gmail.com> | 2025-05-29 19:16:41 -0300 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-05-29 15:29:37 -0700 |
| commit | 1d9526df8d6ebe69efc54ade9d4ed2317342fdba (patch) | |
| tree | 85d83e081ef82348cc7eb1db2cb307153dd8c223 | |
| parent | Merge branch 'master' of https://github.com/j6t/git-gui (diff) | |
| download | git-1d9526df8d6ebe69efc54ade9d4ed2317342fdba.tar.gz git-1d9526df8d6ebe69efc54ade9d4ed2317342fdba.zip | |
userdiff: add support for R programming language
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>
| -rw-r--r-- | t/t4018/r-indent | 6 | ||||
| -rw-r--r-- | t/t4018/r-indent-nested | 10 | ||||
| -rw-r--r-- | t/t4018/r-noindent | 6 | ||||
| -rw-r--r-- | userdiff.c | 4 |
4 files changed, 26 insertions, 0 deletions
diff --git a/t/t4018/r-indent b/t/t4018/r-indent new file mode 100644 index 0000000000..9df440f2a4 --- /dev/null +++ b/t/t4018/r-indent @@ -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 index 0000000000..30412e6c79 --- /dev/null +++ b/t/t4018/r-indent-nested @@ -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 index 0000000000..6d9b01ffe3 --- /dev/null +++ b/t/t4018/r-noindent @@ -0,0 +1,6 @@ +RIGHT <- function(a, b) { +c = mean(a, b) +d = c + 2 +ChangeMe() +return (c) +} diff --git a/userdiff.c b/userdiff.c index 05776ccd10..fe710a68bf 100644 --- a/userdiff.c +++ b/userdiff.c @@ -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].*)$", /* -- */ |
