userdiff: add built-in pattern for rust

This adds xfuncname and word_regex patterns for Rust, a quite
popular programming language. It also includes test cases for the
xfuncname regex (t4018) and updated documentation.

The word_regex pattern finds identifiers, integers, floats and
operators, according to the Rust Reference Book.

Cc: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Marc-André Lureau
2019-05-17 01:58:15 +02:00
committed by Junio C Hamano
parent ab15ad1a3b
commit d74e78602e
7 changed files with 30 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ diffpatterns="
php
python
ruby
rust
tex
custom1
custom2

5
t/t4018/rust-fn Normal file
View File

@@ -0,0 +1,5 @@
pub(self) fn RIGHT<T>(x: &[T]) where T: Debug {
let _ = x;
// a comment
let a = ChangeMe;
}

5
t/t4018/rust-impl Normal file
View File

@@ -0,0 +1,5 @@
impl<'a, T: AsRef<[u8]>> std::RIGHT for Git<'a> {
pub fn ChangeMe(&self) -> () {
}
}

5
t/t4018/rust-struct Normal file
View File

@@ -0,0 +1,5 @@
#[derive(Debug)]
pub(super) struct RIGHT<'a> {
name: &'a str,
age: ChangeMe,
}

5
t/t4018/rust-trait Normal file
View File

@@ -0,0 +1,5 @@
unsafe trait RIGHT<T> {
fn len(&self) -> u32;
fn ChangeMe(&self, n: u32) -> T;
fn iter<F>(&self, f: F) where F: Fn(T);
}