From dc3859d73e77a34b1a61fd4f23d18651bf515b80 Mon Sep 17 00:00:00 2001 From: Liigo Date: Fri, 11 Nov 2016 15:36:49 +0800 Subject: [PATCH] rustdoc: add cli argument `--playground-url` --- src/librustdoc/html/render.rs | 6 ++---- src/librustdoc/lib.rs | 8 ++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 5aed37edbd4..e6275c2091e 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -469,10 +469,8 @@ pub fn run(mut krate: clean::Crate, clean::NameValue(ref x, ref s) if "html_playground_url" == *x => { markdown::PLAYGROUND.with(|slot| { - if slot.borrow().is_none() { - let name = krate.name.clone(); - *slot.borrow_mut() = Some((Some(name), s.clone())); - } + let name = krate.name.clone(); + *slot.borrow_mut() = Some((Some(name), s.clone())); }); } clean::NameValue(ref x, ref s) diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index ee395e0616b..3af7c20c133 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -162,6 +162,10 @@ pub fn opts() -> Vec { unstable(optmulti("Z", "", "internal and debugging options (only on nightly build)", "FLAG")), stable(optopt("", "sysroot", "Override the system root", "PATH")), + stable(optopt("", "playground-url", + "URL to send code snippets to, may be reset by --markdown-playground-url \ + or `#![doc(html_playground_url=...)]`", + "URL")), ] } @@ -230,6 +234,10 @@ pub fn main_args(args: &[String]) -> isize { } }; + if let Some(playground) = matches.opt_str("playground-url") { + html::markdown::PLAYGROUND.with(|s| { *s.borrow_mut() = Some((None, playground)); }); + } + let test_args = matches.opt_strs("test-args"); let test_args: Vec = test_args.iter() .flat_map(|s| s.split_whitespace())