diff --git a/Syntaxes/C.plist b/Syntaxes/C.plist
index fa755ce..dfa344b 100644
--- a/Syntaxes/C.plist
+++ b/Syntaxes/C.plist
@@ -80,8 +80,31 @@
#sizeof
+ captures
+
+ inc
+
+ name
+ invalid.illegal.digit-separator-should-not-be-last.c++
+
+
match
- \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
+ (?x)\b
+ ( (?i:
+ 0x ( \h+ ( ' \h+ )* )? # Hexadecimal
+ | 0b ( [0-1]+ ( ' [0-1]+ )* )? # Binary
+ | 0 ( [0-7]+ ( ' [0-7]+ )* ) # Octal
+ | ( [0-9]+ ( ' [0-9]+ )* ) # Decimal
+ )
+ ( ([uUfF] | u?ll? | U?LL?)\b | (?<inc>') | \b )
+ | ( [0-9]+ ( ' [0-9]+ )* )?
+ (?i:
+ \. ( [0-9]+ ( ' [0-9]+ )* ) E(\+|-)? ( [0-9]+ ( ' [0-9]+ )* )
+ | \. ( [0-9]+ ( ' [0-9]+ )* )
+ | E(\+|-)? ( [0-9]+ ( ' [0-9]+ )* )
+ )
+ ( (?<inc>') | \b )
+ )
name
constant.numeric.c
@@ -381,8 +404,8 @@
\b([a-z0-9_]+_t)\b
name
support.type.posix-reserved.c
-
-
+
+
include
#block