userdiff: support Clojure
PATCH 1/1 userdiff: support Clojure
From: Nazarii Bardiuk <[email protected]>
Add support for Clojure[1]. Include test cases for the xfuncname pattern (t4018) and update documentation.
The xfuncname pattern matches any top level form except a line comment.
The word_regex has been constructed based on Reader documentation[2].
[1]: https://clojure.org
[2]: https://clojure.org/reference/reader
---
userdiff: support Clojure
Add support for Clojure1 [https://clojure.org]. Include test cases for the xfuncname pattern (t4018) and update documentation.
The xfuncname pattern matches any top level form except a line comment.
The word_regex has been constructed based on Reader documentation2
[https://clojure.org/reference/reader].
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-902%2Fnbardiuk%2Fuserdiff-clojure-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-902/nbardiuk/userdiff-clojure-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/902
Documentation/gitattributes.txt | 2 ++ t/t4018-diff-funcname.sh | 1 + t/t4018/clojure-comment | 8 ++++++++ t/t4018/clojure-function | 6 ++++++ t/t4018/clojure-ns | 10 ++++++++++ t/t4018/clojure-reader-comment | 5 +++++ userdiff.c | 11 +++++++++++ 7 files changed, 43 insertions(+) create mode 100644 t/t4018/clojure-comment create mode 100644 t/t4018/clojure-function create mode 100644 t/t4018/clojure-ns create mode 100644 t/t4018/clojure-reader-comment
Documentation/gitattributes.txt +2 -0
@@ -807,6 +807,8 @@ patterns are available: - `bibtex` suitable for files with BibTeX coded references. +- `clojure` suitable for source code in the Clojure language. + - `cpp` suitable for source code in the C and C++ languages. - `csharp` suitable for source code in the C# language.
t/t4018-diff-funcname.sh +1 -0
@@ -29,6 +29,7 @@ diffpatterns=" ada bash bibtex + clojure cpp csharp css
t/t4018/clojure-comment new file +8 -0
@@ -0,0 +1,8 @@ +(comment ;; RIGHT rich comment + + +;; ignore comment + + + (do-something "ChangeMe")) +
t/t4018/clojure-function new file +6 -0
@@ -0,0 +1,6 @@ +(defn RIGHT + [] +; ignore comment + + (ChangeMe)) +
t/t4018/clojure-ns new file +10 -0
@@ -0,0 +1,10 @@ +(ns RIGHT + +;; ignore comment + + (:require [some.lib :refer [ + + + ChangeMe + + ]))
t/t4018/clojure-reader-comment new file +5 -0
@@ -0,0 +1,5 @@ +#_((def commented-RIGHT-definition + +; ignore comment + + ChangeMe))
userdiff.c +11 -0
@@ -44,6 +44,17 @@ PATTERNS("bash",/* -- */ /* Characters not in the default $IFS value */ "[^ \t]+"), +PATTERNS ("clojure" , +/* Ignore comments */ +"!^;.*\n" +/* Top level forms */ +"^[^ \t].*$" , +/* Atoms, Keywords, Symbols */ +"[#@:]?[^0-9][a-zA-Z0-9*+!-_'?<>=/.]+" +/* Numbers */ +"|[-]?[0-9a-fA-Frxb/MN]+" +/* Characters */ +"|[\\0-9a-fA-F]+" ),PATTERNS ("dts" ,"!;\n" "!=\n"
base-commit: 13d7ab6b5d7929825b626f050b62a11241ea4945
Signature · 1 line
gitgitgadget