diff --git a/lexers/embedded/rust.xml b/lexers/embedded/rust.xml
index f41049c5f..0df59167f 100644
--- a/lexers/embedded/rust.xml
+++ b/lexers/embedded/rust.xml
@@ -113,7 +113,7 @@
-
+
@@ -171,11 +171,9 @@
-
-
-
-
+
+
@@ -243,8 +241,11 @@
-
-
+
+
+
+
+
@@ -266,12 +267,19 @@
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
diff --git a/lexers/testdata/rust.actual b/lexers/testdata/rust.actual
index 093f15b62..b92928268 100644
--- a/lexers/testdata/rust.actual
+++ b/lexers/testdata/rust.actual
@@ -15,9 +15,11 @@ fn main() {
let r#type = "valid";
let i: i128 = 1117;
- let s = "March
+ let s = "March\n
April";
- let s = r"March
+ let s = r"March \
April";
+ let s = "String split over\n multiple \
+ lines";
}
diff --git a/lexers/testdata/rust.expected b/lexers/testdata/rust.expected
index 3f980ec76..72d425972 100644
--- a/lexers/testdata/rust.expected
+++ b/lexers/testdata/rust.expected
@@ -92,7 +92,9 @@
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"="},
{"type":"TextWhitespace","value":" "},
- {"type":"LiteralString","value":"\"March\nApril\""},
+ {"type":"LiteralString","value":"\"March"},
+ {"type":"LiteralStringEscape","value":"\\n"},
+ {"type":"LiteralString","value":"\nApril\""},
{"type":"Punctuation","value":";"},
{"type":"TextWhitespace","value":"\n "},
{"type":"KeywordDeclaration","value":"let"},
@@ -101,9 +103,23 @@
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"="},
{"type":"TextWhitespace","value":" "},
- {"type":"LiteralString","value":"r\"March\nApril\""},
+ {"type":"LiteralStringAffix","value":"r"},
+ {"type":"LiteralString","value":"\"March \\\nApril\""},
{"type":"Punctuation","value":";"},
- {"type":"TextWhitespace","value":"\n\n"},
+ {"type":"TextWhitespace","value":"\n\n "},
+ {"type":"KeywordDeclaration","value":"let"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Name","value":"s"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"Operator","value":"="},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"LiteralString","value":"\"String split over"},
+ {"type":"LiteralStringEscape","value":"\\n"},
+ {"type":"LiteralString","value":" multiple "},
+ {"type":"LiteralStringEscape","value":"\\"},
+ {"type":"LiteralString","value":"\n lines\""},
+ {"type":"Punctuation","value":";"},
+ {"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n"}
]