-
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
feat(toml): Allow adding/removing from cargo scripts #14857
Conversation
2a5fdea
to
6fa341d
Compare
// Ok, this is a shebang but if the next non-whitespace token is `[`, | ||
// then it may be valid Rust code, so consider it Rust code. | ||
if rest.trim_start().starts_with('[') { | ||
return Ok(source); | ||
} |
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.
Just a comment: This isn't quite the same behavior, as the compiler allows comments before the opening [
. I realize parsing that would be difficult, and that particular scenario is a bit silly.
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 is existing code, just moved. Ok if we put this in the tracking issue or an issue and track separately?
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.
Added this to the checklist: #12207
if !manifest.ends_with("\n") { | ||
manifest.push_str("\n"); | ||
} | ||
let fence = "---\n"; |
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.
Just a comment: These look like it will cause mixed line endings on a CRLF file. However, that looks like it is an existing problem with cargo add
in general.
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.
As this is another manifestation of an existing issue, are we ok with deferring this out of this PR?
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.
Created #14863 and noted this in it
This will make it easier to add cargo script support
a6a3dfe
to
26844a3
Compare
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.
Thanks!
Update cargo 8 commits in 4c39aaff66862cc0da52fe529aa1990bb8bb9a22..3908f64086a3d7b9af8d87b4da2bd100776c3e61 2024-11-25 16:36:17 +0000 to 2024-11-29 17:32:44 +0000 - chore(deps): update msrv (rust-lang/cargo#14867) - fix(fix): Migrate cargo script manifests across editions (rust-lang/cargo#14864) - feat(toml): Allow adding/removing from cargo scripts (rust-lang/cargo#14857) - Add future-incompat warning against keywords in cfgs and add raw-idents (rust-lang/cargo#14671) - test(build-std): download deps first (rust-lang/cargo#14861) - test(pgo): ensure PGO works (rust-lang/cargo#14859) - git-fetch-with-cli: Set `GIT_DIR` for bare repository compatibility (rust-lang/cargo#14860) - fix(build-std): always link to std when testing proc-macros (rust-lang/cargo#14850)
Update cargo 17 commits in 4c39aaff66862cc0da52fe529aa1990bb8bb9a22..05f54fdc34310f458033af8a63ce1d699fae8bf6 2024-11-25 16:36:17 +0000 to 2024-12-03 03:14:12 +0000 - test(pgo): only run on nightly (rust-lang/cargo#14887) - chore: Bump to 0.86.0; update changelog (rust-lang/cargo#14885) - docs(ref): Finish a sentence on rust-versions (rust-lang/cargo#14884) - chore(deps): update rust crate cargo_metadata to 0.19.0 (rust-lang/cargo#14878) - chore(deps): update rust crate gix to 0.68.0 (rust-lang/cargo#14879) - fix: Remove default registry reference in `info` cmd docs (rust-lang/cargo#14880) - test(pgo): determine test runnability at compile time (rust-lang/cargo#14874) - test: `requires` attribute accepts string literals for cmds (rust-lang/cargo#14875) - chore(deps): update msrv (3 versions) to v1.81 (rust-lang/cargo#14871) - chore(deps): update msrv (rust-lang/cargo#14867) - fix(fix): Migrate cargo script manifests across editions (rust-lang/cargo#14864) - feat(toml): Allow adding/removing from cargo scripts (rust-lang/cargo#14857) - Add future-incompat warning against keywords in cfgs and add raw-idents (rust-lang/cargo#14671) - test(build-std): download deps first (rust-lang/cargo#14861) - test(pgo): ensure PGO works (rust-lang/cargo#14859) - git-fetch-with-cli: Set `GIT_DIR` for bare repository compatibility (rust-lang/cargo#14860) - fix(build-std): always link to std when testing proc-macros (rust-lang/cargo#14850)
Update cargo 17 commits in 4c39aaff66862cc0da52fe529aa1990bb8bb9a22..05f54fdc34310f458033af8a63ce1d699fae8bf6 2024-11-25 16:36:17 +0000 to 2024-12-03 03:14:12 +0000 - test(pgo): only run on nightly (rust-lang/cargo#14887) - chore: Bump to 0.86.0; update changelog (rust-lang/cargo#14885) - docs(ref): Finish a sentence on rust-versions (rust-lang/cargo#14884) - chore(deps): update rust crate cargo_metadata to 0.19.0 (rust-lang/cargo#14878) - chore(deps): update rust crate gix to 0.68.0 (rust-lang/cargo#14879) - fix: Remove default registry reference in `info` cmd docs (rust-lang/cargo#14880) - test(pgo): determine test runnability at compile time (rust-lang/cargo#14874) - test: `requires` attribute accepts string literals for cmds (rust-lang/cargo#14875) - chore(deps): update msrv (3 versions) to v1.81 (rust-lang/cargo#14871) - chore(deps): update msrv (rust-lang/cargo#14867) - fix(fix): Migrate cargo script manifests across editions (rust-lang/cargo#14864) - feat(toml): Allow adding/removing from cargo scripts (rust-lang/cargo#14857) - Add future-incompat warning against keywords in cfgs and add raw-idents (rust-lang/cargo#14671) - test(build-std): download deps first (rust-lang/cargo#14861) - test(pgo): ensure PGO works (rust-lang/cargo#14859) - git-fetch-with-cli: Set `GIT_DIR` for bare repository compatibility (rust-lang/cargo#14860) - fix(build-std): always link to std when testing proc-macros (rust-lang/cargo#14850)
What does this PR try to resolve?
This adds support for cargo script for more cargo commands and is a part of #12207
Unfortunately, there is a double-warning for unspecified editions for
cargo remove
. Rather than addressing that here, I'll be noting it in the tracking issue.How should we test and review this PR?
Additional information