diff options
| author | Liigo <liigo@qq.com> | 2016-11-11 15:36:49 +0800 |
|---|---|---|
| committer | Liigo Zhuang <com.liigo@gmail.com> | 2016-11-14 14:02:42 +0800 |
| commit | dc3859d73e77a34b1a61fd4f23d18651bf515b80 (patch) | |
| tree | 26bc56cf72223f9f4cdff08dd8a0945c021c71e3 | |
| parent | 87b76a521d4cc281880271e4e90e8139dd5a5372 (diff) | |
| download | rust-dc3859d73e77a34b1a61fd4f23d18651bf515b80.tar.gz rust-dc3859d73e77a34b1a61fd4f23d18651bf515b80.zip | |
rustdoc: add cli argument `--playground-url`
| -rw-r--r-- | src/librustdoc/html/render.rs | 6 | ||||
| -rw-r--r-- | 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<RustcOptGroup> { 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<String> = test_args.iter() .flat_map(|s| s.split_whitespace()) |
