diff --git a/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang b/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
index 1869024e20b0c..1c1bb0a00121a 100644
--- a/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
+++ b/src/etc/gedit/share/gtksourceview-3.0/language-specs/rust.lang
@@ -85,7 +85,6 @@
u64
f32
f64
- float
char
str
Either
@@ -205,16 +204,36 @@
+
+ (i8|i16|i32|i64|i|u8|u16|u32|u64|u)
+
+
+
+ ([eE][+-]?[0-9_]+)
+
+
+
+ (\%{exponent}?(f32|f64)?)|(\.[0-9][0-9_]*\%{exponent}?)?(f32|f64)?|\.
+
+
+
+ \%{int_suffix}|\%{float_suffix}
+
+
+
+ [0-9a-fA-F]
+
+
- (?<![\w\.])
+ ((?<=\.\.)|(?<![\w\.]))
(
- 0x[0-9a-fA-F_]+(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?|
- 0b[0-1_]+(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?|
- [0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?|
- [0-9][0-9_]*(u8|u16|u32|u64|i8|i16|i32|i64|u|i)?
+ [1-9][0-9_]*\%{num_suffix}?|
+ 0[0-9_]*\%{num_suffix}?|
+ 0b[01_]+\%{int_suffix}?|
+ 0x(\%{hex_digit}|_)+\%{int_suffix}?
)
- (?![\w\.])
+ ((?![\w\.].)|(?=\.\.))
@@ -234,32 +253,37 @@
+
+ '|"|
+ \\|n|r|t|
+ x\%{hex_digit}{2}|
+ u\%{hex_digit}{4}|
+ U\%{hex_digit}{8}
+
+
+
+ \\\%{common_escape}
+
+
"
"
-
+
-
- [0-9a-fA-F]
-
-
-
- (n|r|t)|
- x\%{hex_digit}{2}|
- u\%{hex_digit}{4}|
- U\%{hex_digit}{8}
-
-
-
- '([^\\]|\\\%{common_escape})'
+
+ '([^\\']|\\\%{common_escape})'
- \#\[[^\]]+\]
+ \#\[
+ \]
+
+
+