-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Open
Labels
A-configurationArea: cargo config files and env varsArea: cargo config files and env varsC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-needs-designStatus: Needs someone to work further on the design for the feature or fix. NOT YET accepted.Status: Needs someone to work further on the design for the feature or fix. NOT YET accepted.
Description
Problem
.cargo/config.toml does not have jsonshema.
So editor can not use schemastore to support tab-completion and validation.
Proposed Solution
cargo team implement jsonschema, publish and maintain related jsonschema in https://github.com/SchemaStore/schemastore.
So editor can use schemastore to support tab-completion and validation.
Tasks
- Added unstable-schema generation for Cargo.toml #14683
- To generate the
manifest.schema.jsonfile, under thecrates/cargo-util-schemasdirectory, runSNAPSHOTS=overwrite cargo test -F unstable-schema dump_manifest_schema
- To generate the
- Add a config mod to cargo-util-schemas that has a top-level struct and re-exports any types shared with other parts of the crate, generating a schema
- Migrate what structs we can from Cargo to cargo-util-schemas, being careful of non-trivial types, particularly InternedString
Future possibilities
- Similarly migrate the Index and cargo metadata into their respective mods in cargo-util-schemas
Notes
- doc
https://doc.rust-lang.org/cargo/reference/config.html
vcpkg
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-configurationArea: cargo config files and env varsArea: cargo config files and env varsC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-needs-designStatus: Needs someone to work further on the design for the feature or fix. NOT YET accepted.Status: Needs someone to work further on the design for the feature or fix. NOT YET accepted.