зеркало из https://github.com/microsoft/git.git
Merge branch 'jd/userdiff-kotlin'
A new built-in userdiff driver for kotlin. * jd/userdiff-kotlin: userdiff: add builtin diff driver for kotlin language.
This commit is contained in:
Коммит
3ece3cb865
|
@ -829,6 +829,8 @@ patterns are available:
|
||||||
|
|
||||||
- `java` suitable for source code in the Java language.
|
- `java` suitable for source code in the Java language.
|
||||||
|
|
||||||
|
- `kotlin` suitable for source code in the Kotlin language.
|
||||||
|
|
||||||
- `markdown` suitable for Markdown documents.
|
- `markdown` suitable for Markdown documents.
|
||||||
|
|
||||||
- `matlab` suitable for source code in the MATLAB and Octave languages.
|
- `matlab` suitable for source code in the MATLAB and Octave languages.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class RIGHT {
|
||||||
|
//comment
|
||||||
|
//comment
|
||||||
|
return ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
enum class RIGHT{
|
||||||
|
// Left
|
||||||
|
// a comment
|
||||||
|
ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
fun RIGHT(){
|
||||||
|
//a comment
|
||||||
|
//b comment
|
||||||
|
return ChangeMe()
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
open class RIGHT{
|
||||||
|
// a comment
|
||||||
|
// b comment
|
||||||
|
// ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
value class RIGHT(Args){
|
||||||
|
// a comment
|
||||||
|
// b comment
|
||||||
|
ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
interface RIGHT{
|
||||||
|
//another comment
|
||||||
|
//another comment
|
||||||
|
//ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
class LEFT{
|
||||||
|
class CENTER{
|
||||||
|
fun RIGHT( a:Int){
|
||||||
|
//comment
|
||||||
|
//comment
|
||||||
|
ChangeMe
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
public class RIGHT{
|
||||||
|
//comment1
|
||||||
|
//comment2
|
||||||
|
ChangeMe
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
sealed class RIGHT {
|
||||||
|
// a comment
|
||||||
|
// b comment
|
||||||
|
ChangeMe
|
||||||
|
}
|
|
@ -324,6 +324,7 @@ test_language_driver dts
|
||||||
test_language_driver fortran
|
test_language_driver fortran
|
||||||
test_language_driver html
|
test_language_driver html
|
||||||
test_language_driver java
|
test_language_driver java
|
||||||
|
test_language_driver kotlin
|
||||||
test_language_driver matlab
|
test_language_driver matlab
|
||||||
test_language_driver objc
|
test_language_driver objc
|
||||||
test_language_driver pascal
|
test_language_driver pascal
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
<BOLD>diff --git a/pre b/post<RESET>
|
||||||
|
<BOLD>index 11ea3de..2e1df4c 100644<RESET>
|
||||||
|
<BOLD>--- a/pre<RESET>
|
||||||
|
<BOLD>+++ b/post<RESET>
|
||||||
|
<CYAN>@@ -1,30 +1,30 @@<RESET>
|
||||||
|
println("Hello World<RED>!\n<RESET><GREEN>?<RESET>")
|
||||||
|
<GREEN>(<RESET>1<GREEN>) (<RESET>-1e10<GREEN>) (<RESET>0xabcdef<GREEN>)<RESET> '<RED>x<RESET><GREEN>y<RESET>'
|
||||||
|
[<RED>a<RESET><GREEN>x<RESET>] <RED>a<RESET><GREEN>x<RESET>-><RED>b a<RESET><GREEN>y x<RESET>.<RED>b<RESET><GREEN>y<RESET>
|
||||||
|
!<RED>a a<RESET><GREEN>x x<RESET>.inv() <RED>a<RESET><GREEN>x<RESET>*<RED>b a<RESET><GREEN>y x<RESET>&<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>*<RED>b a<RESET><GREEN>y x<RESET>/<RED>b a<RESET><GREEN>y x<RESET>%<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>+<RED>b a<RESET><GREEN>y x<RESET>-<RED>b<RESET><GREEN>y<RESET>
|
||||||
|
a <RED>shr<RESET><GREEN>shl<RESET> b
|
||||||
|
<RED>a<RESET><GREEN>x<RESET><<RED>b a<RESET><GREEN>y x<RESET><=<RED>b a<RESET><GREEN>y x<RESET>><RED>b a<RESET><GREEN>y x<RESET>>=<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>==<RED>b a<RESET><GREEN>y x<RESET>!=<RED>b a<RESET><GREEN>y x<RESET>===<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET> and <RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>^<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET> or <RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>&&<RED>b a<RESET><GREEN>y x<RESET>||<RED>b<RESET>
|
||||||
|
<RED>a<RESET><GREEN>y<RESET>
|
||||||
|
<GREEN>x<RESET>=<RED>b a<RESET><GREEN>y x<RESET>+=<RED>b a<RESET><GREEN>y x<RESET>-=<RED>b a<RESET><GREEN>y x<RESET>*=<RED>b a<RESET><GREEN>y x<RESET>/=<RED>b a<RESET><GREEN>y x<RESET>%=<RED>b a<RESET><GREEN>y x<RESET><<=<RED>b a<RESET><GREEN>y x<RESET>>>=<RED>b a<RESET><GREEN>y x<RESET>&=<RED>b a<RESET><GREEN>y x<RESET>^=<RED>b a<RESET><GREEN>y x<RESET>|=<RED>b<RESET><GREEN>y<RESET>
|
||||||
|
a<RED>=<RESET><GREEN>+=<RESET>b c<RED>+=<RESET><GREEN>=<RESET>d e<RED>-=<RESET><GREEN><=<RESET>f g<RED>*=<RESET><GREEN>>=<RESET>h i<RED>/=<RESET><GREEN>/<RESET>j k<RED>%=<RESET><GREEN>%<RESET>l m<RED><<=<RESET><GREEN><<<RESET>n o<RED>>>=<RESET><GREEN>>><RESET>p q<RED>&=<RESET><GREEN>&<RESET>r s<RED>^=<RESET><GREEN>^<RESET>t u<RED>|=<RESET><GREEN>|<RESET>v
|
||||||
|
a<RED><<=<RESET><GREEN><=<RESET>b
|
||||||
|
a<RED>||<RESET><GREEN>|<RESET>b a<RED>&&<RESET><GREEN>&<RESET>b
|
||||||
|
<RED>a<RESET><GREEN>x<RESET>,y
|
||||||
|
--a<RED>==<RESET><GREEN>!=<RESET>--b
|
||||||
|
a++<RED>==<RESET><GREEN>!=<RESET>++b
|
||||||
|
<RED>0xFF_EC_DE_5E 0b100_000 100_000<RESET><GREEN>0xFF_E1_DE_5E 0b100_100 200_000<RESET>
|
||||||
|
a<RED>==<RESET><GREEN>===<RESET>b
|
||||||
|
a<RED>!!<RESET><GREEN>!=<RESET>b
|
||||||
|
<RED>_32<RESET><GREEN>_33<RESET>.find(arr)
|
||||||
|
X.<RED>fill<RESET><GREEN>find<RESET>()
|
||||||
|
X.<RED>u<RESET><GREEN>f<RESET>+1
|
||||||
|
X.u<RED>-<RESET><GREEN>+<RESET>2
|
||||||
|
a<RED>.<RESET><GREEN>..<RESET>b
|
||||||
|
a<RED>?.<RESET><GREEN>?:<RESET>b
|
||||||
|
<RED>.32_00_456<RESET><GREEN>.32_00_446<RESET>
|
|
@ -0,0 +1,30 @@
|
||||||
|
println("Hello World?")
|
||||||
|
(1) (-1e10) (0xabcdef) 'y'
|
||||||
|
[x] x->y x.y
|
||||||
|
!x x.inv() x*y x&y
|
||||||
|
x*y x/y x%y
|
||||||
|
x+y x-y
|
||||||
|
a shl b
|
||||||
|
x<y x<=y x>y x>=y
|
||||||
|
x==y x!=y x===y
|
||||||
|
x and y
|
||||||
|
x^y
|
||||||
|
x or y
|
||||||
|
x&&y x||y
|
||||||
|
x=y x+=y x-=y x*=y x/=y x%=y x<<=y x>>=y x&=y x^=y x|=y
|
||||||
|
a+=b c=d e<=f g>=h i/j k%l m<<n o>>p q&r s^t u|v
|
||||||
|
a<=b
|
||||||
|
a|b a&b
|
||||||
|
x,y
|
||||||
|
--a!=--b
|
||||||
|
a++!=++b
|
||||||
|
0xFF_E1_DE_5E 0b100_100 200_000
|
||||||
|
a===b
|
||||||
|
a!=b
|
||||||
|
_33.find(arr)
|
||||||
|
X.find()
|
||||||
|
X.f+1
|
||||||
|
X.u+2
|
||||||
|
a..b
|
||||||
|
a?:b
|
||||||
|
.32_00_446
|
|
@ -0,0 +1,30 @@
|
||||||
|
println("Hello World!\n")
|
||||||
|
1 -1e10 0xabcdef 'x'
|
||||||
|
[a] a->b a.b
|
||||||
|
!a a.inv() a*b a&b
|
||||||
|
a*b a/b a%b
|
||||||
|
a+b a-b
|
||||||
|
a shr b
|
||||||
|
a<b a<=b a>b a>=b
|
||||||
|
a==b a!=b a===b
|
||||||
|
a and b
|
||||||
|
a^b
|
||||||
|
a or b
|
||||||
|
a&&b a||b
|
||||||
|
a=b a+=b a-=b a*=b a/=b a%=b a<<=b a>>=b a&=b a^=b a|=b
|
||||||
|
a=b c+=d e-=f g*=h i/=j k%=l m<<=n o>>=p q&=r s^=t u|=v
|
||||||
|
a<<=b
|
||||||
|
a||b a&&b
|
||||||
|
a,y
|
||||||
|
--a==--b
|
||||||
|
a++==++b
|
||||||
|
0xFF_EC_DE_5E 0b100_000 100_000
|
||||||
|
a==b
|
||||||
|
a!!b
|
||||||
|
_32.find(arr)
|
||||||
|
X.fill()
|
||||||
|
X.u+1
|
||||||
|
X.u-2
|
||||||
|
a.b
|
||||||
|
a?.b
|
||||||
|
.32_00_456
|
12
userdiff.c
12
userdiff.c
|
@ -180,6 +180,18 @@ PATTERNS("java",
|
||||||
"|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
|
"|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
|
||||||
"|[-+*/<>%&^|=!]="
|
"|[-+*/<>%&^|=!]="
|
||||||
"|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
|
"|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\|"),
|
||||||
|
PATTERNS("kotlin",
|
||||||
|
"^[ \t]*(([a-z]+[ \t]+)*(fun|class|interface)[ \t]+.*)$",
|
||||||
|
/* -- */
|
||||||
|
"[a-zA-Z_][a-zA-Z0-9_]*"
|
||||||
|
/* hexadecimal and binary numbers */
|
||||||
|
"|0[xXbB][0-9a-fA-F_]+[lLuU]*"
|
||||||
|
/* integers and floats */
|
||||||
|
"|[0-9][0-9_]*([.][0-9_]*)?([Ee][-+]?[0-9]+)?[fFlLuU]*"
|
||||||
|
/* floating point numbers beginning with decimal point */
|
||||||
|
"|[.][0-9][0-9_]*([Ee][-+]?[0-9]+)?[fFlLuU]?"
|
||||||
|
/* unary and binary operators */
|
||||||
|
"|[-+*/<>%&^|=!]==?|--|\\+\\+|<<=|>>=|&&|\\|\\||->|\\.\\*|!!|[?:.][.:]"),
|
||||||
PATTERNS("markdown",
|
PATTERNS("markdown",
|
||||||
"^ {0,3}#{1,6}[ \t].*",
|
"^ {0,3}#{1,6}[ \t].*",
|
||||||
/* -- */
|
/* -- */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче