-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding the cargo doc --examples subcommand #9808
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ehuss (or someone else) soon. Please see the contribution instructions for more information. |
src/bin/cargo/commands/doc.rs
Outdated
@@ -12,6 +12,7 @@ pub fn cli() -> App { | |||
"open", | |||
"Opens the docs in a browser after the operation", | |||
)) | |||
.arg(opt("examples", "Document all examples")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't actually do anything; if someone passes the option cargo will ignore it. Consider writing some tests so you can tell whether this works or not, there are lots of examples if you search for cargo_test
.
I'm not super familiar with cargo's code, but I expect the right approach would be to loop over all examples and document them (maybe in parallel?). I'd look at how --example x works currently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your review, which is a huge encouragement to me. It works fine for my local test.
My test file directory is:
hello
├─examples
│ ├───examples1.rs
│ └───examples2.rs
└─src
└───main.rs
I think it's good extensibility in the source code.
..\cargo\src\cargo\util\command_prelude.rs
filter: CompileFilter::from_raw_arguments(
self._is_present("lib"),
self._values_of("bin"),
self._is_present("bins"),
self._values_of("test"),
self._is_present("tests"),
self._values_of("example"),
self._is_present("examples"), // examples
self._values_of("bench"),
self._is_present("benches"),
self._is_present("all-targets"),
),
Thanks for the PR! Just a few questions/comments:
|
Frankly, I don't have any more use cases here.I think it is a legacy issue.Maybe you're busy, so I'll help you out. In addition, the test items I conducted locally were normal, but I failed here. Why? |
For consistency with the other cargo subcommands. It seems weird you can use (That said, I agree I'm not sure how useful documenting examples is, I think rust-lang/rfcs#3123 is more useful.) |
When changing the man pages, the |
thanks for your advice. It's normal now. |
Thanks! @bors r+ |
📌 Commit 92c35f2 has been approved by |
☀️ Test successful - checks-actions |
Update cargo, books ## nomicon 2 commits in 0c7e5bd1428e7838252bb57b7f0fbfda4ec82f02..fe6227eb3c8533200c52dffa42ef1b6f2f02c40e 2021-08-04 10:18:22 -0700 to 2021-08-31 05:42:38 +0900 - update lifetime-elision to show what elided code under `rust_2018_idi… (rust-lang/nomicon#306) - Change code for `into_iter` on the `RawVec` section for consistency/soundness (rust-lang/nomicon#302) ## cargo 8 commits in f559c109cc79fe413a8535fb620a5a58b3823d94..18751dd3f238d94d384a7fe967abfac06cbfe0b9 2021-08-26 22:54:55 +0000 to 2021-09-01 14:26:00 +0000 - print the full destination path when no track duplicates (rust-lang/cargo#9850) - Stabilize 2021 edition (rust-lang/cargo#9800) - Stabilize patch-in-config (and prefer config over manifest) (rust-lang/cargo#9839) - Adding the cargo doc --examples subcommand (rust-lang/cargo#9808) - Make library created with `cargo new` clippy happy (rust-lang/cargo#9796) - Swap out some outdated repo urls in documentation (rust-lang/cargo#9862) - Change `cargo fix --edition` to only fix edition lints. (rust-lang/cargo#9846) - Show desc of well known subcommands (fmt, clippy) in cargo --list (rust-lang/cargo#9848) ## reference 1 commits in da6ea9b03f74cae0a292f40315723d7a3a973637..0e5ed7a4bec065f0cc18c35d1c904639e095314d 2021-08-19 21:28:10 -0700 to 2021-08-29 17:33:21 +0900 - expressions.md: Attempt fixing broken grammar in Mutability paragraph (rust-lang/reference#1084) ## book 1 commits in 687e21bde2ea10c261f79fa14797c5137425098d..fcb5e0ea68112d85a1d29a7a7335978ef2a02181 2021-08-18 20:48:38 -0400 to 2021-08-31 21:26:19 -0400 - Improve the reading of the code (rust-lang/book#2845) ## rustc-dev-guide 7 commits in cf0e151..95f1acf 2021-08-22 11:47:02 -0300 to 2021-08-31 12:38:30 -0500 - Add link to `Span` - Add rustc-source to suggested rust-analyzer config (rust-lang/rustc-dev-guide#1189) - Fix typo, clarify backtick wording, and use inline code - Trailing date comments in a line inside of a paragraph caused beginning of a new paragraph. (rust-lang/rustc-dev-guide#1196) - Fix warning "Renderer command uses a path relative to the renderer output directory ..." (rust-lang/rustc-dev-guide#1194) - Fix a code block containing ```rust - date-check: Recognize capitalized 'Date' as well ## edition-guide 1 commits in 3710b0cae783d0bcd2b42452a63b081473f5970a..2d9b1b9da706de24650fdc5c3b0182f55c82115d 2021-07-26 11:34:46 -0700 to 2021-08-31 10:44:09 +0200 - Update for 2021 stabilization (rust-lang/edition-guide#266) ## embedded-book 1 commits in 4f9fcaa30d11ba52b641e6fd5206536d65838af9..c3a51e23859554369e6bbb5128dcef0e4f159fb5 2021-08-06 17:43:12 +0000 to 2021-08-26 07:04:58 +0000 - Make glossary more linkable and add more detail (rust-embedded/book#299)
Adding the cargo doc --examples subcommand
#4508