From aea9c870de447f03a44b7b53a6a9f8813299722c Mon Sep 17 00:00:00 2001 From: Konrad Borowski Date: Mon, 20 Jan 2020 12:37:11 +0100 Subject: [PATCH] Support raw strings in Rust lexer Fixes #1398 --- lib/rouge/lexers/rust.rb | 1 + spec/visual/samples/rust | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib/rouge/lexers/rust.rb b/lib/rouge/lexers/rust.rb index 29850ef93a..d3ecfe42be 100644 --- a/lib/rouge/lexers/rust.rb +++ b/lib/rouge/lexers/rust.rb @@ -159,6 +159,7 @@ def macro_closed? )x, Str::Char rule %r/"/, Str, :string + rule %r/r(#*)".*?"\1/, Str # numbers dot = /[.][0-9_]+/ diff --git a/spec/visual/samples/rust b/spec/visual/samples/rust index 928d6e6123..92e5b2dec2 100644 --- a/spec/visual/samples/rust +++ b/spec/visual/samples/rust @@ -30,6 +30,11 @@ println!("a\\"); println!("a\n"); println!("a\"b"); println!("a\'"); +println!(r""); +println!(r"\n\"); +println!(r#"a"b\"#); +println!(r##"r#""#"##); +println!(r###"r##"r#""#"##"###); debug!("test %?", a.b); debug!("test %u", a.c);