about summary refs log tree commit diff
path: root/src/librustdoc/html/highlight/tests.rs
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2020-08-21 16:38:35 +0200
committerAleksey Kladov <aleksey.kladov@gmail.com>2020-08-27 17:43:15 +0200
commit1f95a91c24d114637131a635fe71dfd1d457fe30 (patch)
treeab3fbe97a67ac50e81de6fca71fd50dcaf0109fa /src/librustdoc/html/highlight/tests.rs
parentf7cbb7a594658099ebb9d0008779511fe2fbe9ab (diff)
downloadrust-1f95a91c24d114637131a635fe71dfd1d457fe30.tar.gz
rust-1f95a91c24d114637131a635fe71dfd1d457fe30.zip
Remove dependency on StringReader from rustdoc highlighter
rustc_lexer is the lossless lexer, which is a better fit for
approximate syntax highlighting.

As a side-effect, we can now syntax-highlight even broken code.
Diffstat (limited to 'src/librustdoc/html/highlight/tests.rs')
-rw-r--r--src/librustdoc/html/highlight/tests.rs24
1 files changed, 4 insertions, 20 deletions
diff --git a/src/librustdoc/html/highlight/tests.rs b/src/librustdoc/html/highlight/tests.rs
index 21e476cbe06..756751e47e8 100644
--- a/src/librustdoc/html/highlight/tests.rs
+++ b/src/librustdoc/html/highlight/tests.rs
@@ -1,25 +1,9 @@
-use rustc_session::parse::ParseSess;
-use rustc_span::edition::Edition;
-use rustc_span::with_session_globals;
-use rustc_span::FileName;
-
-use super::Classifier;
+use super::write_code;
 
 fn highlight(src: &str) -> String {
-    let mut out = vec![];
-
-    with_session_globals(Edition::Edition2018, || {
-        let sess = ParseSess::with_silent_emitter();
-        let source_file = sess.source_map().new_source_file(
-            FileName::Custom(String::from("rustdoc-highlighting")),
-            src.to_owned(),
-        );
-
-        let mut classifier = Classifier::new(&sess, source_file);
-        classifier.write_source(&mut out).unwrap();
-    });
-
-    String::from_utf8(out).unwrap()
+    let mut out = String::new();
+    write_code(&mut out, src);
+    out
 }
 
 #[test]