Rollup merge of #84393 - GuillaumeGomez:better-open-handling, r=jyn514

Support `x.py doc std --open`

I usually run this command:

```
./x.py doc std --stage 1 --jobs 8
```

Then I gave a try to `--open` and realized it wasn't working. I finally realized it was simply because it was only handling paths starting with `library`. This PR allows to handle both kinds of paths.

cc ``@jyn514``
r? ``@Mark-Simulacrum``
This commit is contained in:
Mara Bos 2021-04-21 23:06:23 +02:00 committed by GitHub
commit 0749ea7cb8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -470,12 +470,16 @@ impl Step for Std {
// Look for library/std, library/core etc in the `x.py doc` arguments and
// open the corresponding rendered docs.
for path in builder.paths.iter().map(components_simplified) {
if path.get(0) == Some(&"library") {
let requested_crate = &path[1];
if krates.contains(&requested_crate) {
let index = out.join(requested_crate).join("index.html");
open(builder, &index);
}
let requested_crate = if path.get(0) == Some(&"library") {
&path[1]
} else if !path.is_empty() {
&path[0]
} else {
continue;
};
if krates.contains(&requested_crate) {
let index = out.join(requested_crate).join("index.html");
open(builder, &index);
}
}
}