diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-05-22 21:45:00 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-22 21:45:00 +0200 |
| commit | 3083ce7ab127dfd1cbb453810579ca827dcfd7bb (patch) | |
| tree | ce8560682a5b1416b63b068651f426f0dccc07be /src/bootstrap/flags.rs | |
| parent | 01adfe1bc370af0b16265fc6bebbeb9ffe7f459a (diff) | |
| parent | 07b1de4e9a4a223840efd60475b86f815e84acfa (diff) | |
Rollup merge of #72453 - dtolnay:open, r=Mark-Simulacrum
Add flag to open docs: x.py doc --open This aligns with Cargo's flag `cargo doc --open`. Tested with: ```bash # opens doc/index.html x.py doc --stage 0 --open x.py doc --stage 0 --open src/doc # opens doc/book/index.html x.py doc --stage 0 --open src/doc/book # opens doc/std/index.html x.py doc --stage 0 --open src/libstd # opens doc/proc_macro/index.html x.py doc --stage 0 --open src/libproc_macro # opens both x.py doc --stage 0 --open src/libstd src/libproc_macro ```
Diffstat (limited to 'src/bootstrap/flags.rs')
| -rw-r--r-- | src/bootstrap/flags.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs index 646b9e05d99..cfaa43f3970 100644 --- a/src/bootstrap/flags.rs +++ b/src/bootstrap/flags.rs @@ -61,6 +61,7 @@ pub enum Subcommand { }, Doc { paths: Vec<PathBuf>, + open: bool, }, Test { paths: Vec<PathBuf>, @@ -248,6 +249,9 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`", "bench" => { opts.optmulti("", "test-args", "extra arguments", "ARGS"); } + "doc" => { + opts.optflag("", "open", "open the docs in a browser"); + } "clean" => { opts.optflag("", "all", "clean all build artifacts"); } @@ -404,6 +408,7 @@ Arguments: ./x.py doc src/doc/book ./x.py doc src/doc/nomicon ./x.py doc src/doc/book src/libstd + ./x.py doc src/libstd --open If no arguments are passed then everything is documented: @@ -479,7 +484,7 @@ Arguments: }, }, "bench" => Subcommand::Bench { paths, test_args: matches.opt_strs("test-args") }, - "doc" => Subcommand::Doc { paths }, + "doc" => Subcommand::Doc { paths, open: matches.opt_present("open") }, "clean" => { if !paths.is_empty() { println!("\nclean does not take a path argument\n"); @@ -613,6 +618,13 @@ impl Subcommand { _ => None, } } + + pub fn open(&self) -> bool { + match *self { + Subcommand::Doc { open, .. } => open, + _ => false, + } + } } fn split(s: &[String]) -> Vec<String> { |
