about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLiigo <liigo@qq.com>2016-11-11 15:36:49 +0800
committerLiigo Zhuang <com.liigo@gmail.com>2016-11-14 14:02:42 +0800
commitdc3859d73e77a34b1a61fd4f23d18651bf515b80 (patch)
tree26bc56cf72223f9f4cdff08dd8a0945c021c71e3
parent87b76a521d4cc281880271e4e90e8139dd5a5372 (diff)
downloadrust-dc3859d73e77a34b1a61fd4f23d18651bf515b80.tar.gz
rust-dc3859d73e77a34b1a61fd4f23d18651bf515b80.zip
rustdoc: add cli argument `--playground-url`
-rw-r--r--src/librustdoc/html/render.rs6
-rw-r--r--src/librustdoc/lib.rs8
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())