summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Sixt <j6t@kdbg.org>2021-10-10 17:03:04 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-10-10 15:24:21 -0700
commitc4fdba338355d80e40b84391af9f8c022d4f21af (patch)
treede9dcbd5a9df019265ee907fb7ebbc385f4016d7
parentuserdiff-cpp: permit the digit-separating single-quote in numbers (diff)
downloadtgif-c4fdba338355d80e40b84391af9f8c022d4f21af.tar.xz
userdiff-cpp: learn the C++ spaceship operator
Since C++20, the language has a generalized comparison operator <=>. Teach the cpp driver not to separate it into <= and > tokens. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/t4034/cpp/expect2
-rw-r--r--userdiff.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/t/t4034/cpp/expect b/t/t4034/cpp/expect
index b90b3f207b..5ff4ce477b 100644
--- a/t/t4034/cpp/expect
+++ b/t/t4034/cpp/expect
@@ -25,7 +25,7 @@ str.e+<RED>65<RESET><GREEN>75<RESET>
a<RED>*<RESET><GREEN>*=<RESET>b c<RED>/<RESET><GREEN>/=<RESET>d e<RED>%<RESET><GREEN>%=<RESET>f
a<RED>+<RESET><GREEN>++<RESET>b c<RED>-<RESET><GREEN>--<RESET>d
a<RED><<<RESET><GREEN><<=<RESET>b c<RED>>><RESET><GREEN>>>=<RESET>d
-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<=<GREEN>><RESET>j
+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
a<RED>==<RESET><GREEN>!=<RESET>b c<RED>!=<RESET><GREEN>=<RESET>d
a<RED>^<RESET><GREEN>^=<RESET>b c<RED>|<RESET><GREEN>|=<RESET>d e<RED>&&<RESET><GREEN>&=<RESET>f
a<RED>||<RESET><GREEN>|<RESET>b
diff --git a/userdiff.c b/userdiff.c
index c1084650dd..7b143ef36b 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -72,7 +72,7 @@ PATTERNS("cpp",
"|0[xXbB][0-9a-fA-F']+[lLuU]*"
/* floatingpoint numbers that begin with a decimal point */
"|\\.[0-9][0-9']*([Ee][-+]?[0-9]+)?[fFlL]?"
- "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*"),
+ "|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*|<=>"),
PATTERNS("csharp",
/* Keywords */
"!^[ \t]*(do|while|for|if|else|instanceof|new|return|switch|case|throw|catch|using)\n"