@@ -429,70 +429,92 @@ However, if you use some other build system, you'll have to describe the structu
429429[source,TypeScript]
430430----
431431interface JsonProject {
432- /// Path to the directory with *source code* of sysroot crates.
432+ /// Path to the directory with *source code* of
433+ /// sysroot crates.
434+ ///
435+ /// It should point to the directory where std,
436+ /// core, and friends can be found:
433437 ///
434- /// It should point to the directory where std, core, and friends can be found:
435438 /// https://github.com/rust-lang/rust/tree/master/library.
436439 ///
437- /// If provided, rust-analyzer automatically adds dependencies on sysroot
438- /// crates. Conversely, if you omit this path, you can specify sysroot
439- /// dependencies yourself and, for example, have several different "sysroots" in
440- /// one graph of crates.
440+ /// If provided, rust-analyzer automatically adds
441+ /// dependencies on sysroot crates. Conversely,
442+ /// if you omit this path, you can specify sysroot
443+ /// dependencies yourself and, for example, have
444+ /// several different "sysroots" in one graph of
445+ /// crates.
441446 sysroot_src?: string;
442- /// The set of crates comprising the current project.
443- /// Must include all transitive dependencies as well as sysroot crate (libstd, libcore and such).
447+ /// The set of crates comprising the current
448+ /// project. Must include all transitive
449+ /// dependencies as well as sysroot crate (libstd,
450+ /// libcore and such).
444451 crates: Crate[];
445452}
446453
447454interface Crate {
448- /// Optional crate name used for display purposes, without affecting semantics.
449- /// See the `deps` key for semantically-significant crate names.
455+ /// Optional crate name used for display purposes,
456+ /// without affecting semantics. See the `deps`
457+ /// key for semantically-significant crate names.
450458 display_name?: string;
451459 /// Path to the root module of the crate.
452460 root_module: string;
453461 /// Edition of the crate.
454462 edition: "2015" | "2018" | "2021";
455463 /// Dependencies
456464 deps: Dep[];
457- /// Should this crate be treated as a member of current "workspace".
465+ /// Should this crate be treated as a member of
466+ /// current "workspace".
458467 ///
459- /// By default, inferred from the `root_module` (members are the crates which reside
460- /// inside the directory opened in the editor).
468+ /// By default, inferred from the `root_module`
469+ /// (members are the crates which reside inside
470+ /// the directory opened in the editor).
461471 ///
462- /// Set this to `false` for things like standard library and 3rd party crates to
463- /// enable performance optimizations (rust-analyzer assumes that non-member crates
464- /// don't change).
472+ /// Set this to `false` for things like standard
473+ /// library and 3rd party crates to enable
474+ /// performance optimizations (rust-analyzer
475+ /// assumes that non-member crates don't change).
465476 is_workspace_member?: boolean;
466- /// Optionally specify the (super)set of `.rs` files comprising this crate.
477+ /// Optionally specify the (super)set of `.rs`
478+ /// files comprising this crate.
467479 ///
468- /// By default, rust-analyzer assumes that only files under `root_module.parent` can belong to a crate.
469- /// `include_dirs` are included recursively, unless a subdirectory is in `exclude_dirs`.
480+ /// By default, rust-analyzer assumes that only
481+ /// files under `root_module.parent` can belong
482+ /// to a crate. `include_dirs` are included
483+ /// recursively, unless a subdirectory is in
484+ /// `exclude_dirs`.
470485 ///
471486 /// Different crates can share the same `source`.
472487 ///
473- /// If two crates share an `.rs` file in common, they *must* have the same `source`.
474- /// rust-analyzer assumes that files from one source can't refer to files in another source.
488+ /// If two crates share an `.rs` file in common,
489+ /// they *must* have the same `source`.
490+ /// rust-analyzer assumes that files from one
491+ /// source can't refer to files in another source.
475492 source?: {
476493 include_dirs: string[],
477494 exclude_dirs: string[],
478495 },
479- /// The set of cfgs activated for a given crate, like `["unix", "feature=\"foo\"", "feature=\"bar\""]`.
496+ /// The set of cfgs activated for a given crate, like
497+ /// `["unix", "feature=\"foo\"", "feature=\"bar\""]`.
480498 cfg: string[];
481499 /// Target triple for this Crate.
482500 ///
483- /// Used when running `rustc --print cfg` to get target-specific cfgs.
501+ /// Used when running `rustc --print cfg`
502+ /// to get target-specific cfgs.
484503 target?: string;
485- /// Environment variables, used for the `env!` macro
504+ /// Environment variables, used for
505+ /// the `env!` macro
486506 env: : { [key: string]: string; },
487507
488- /// For proc-macro crates, path to compiles proc-macro (.so file).
508+ /// For proc-macro crates, path to compiled
509+ /// proc-macro (.so file).
489510 proc_macro_dylib_path?: string;
490511}
491512
492513interface Dep {
493514 /// Index of a crate in the `crates` array.
494515 crate: number,
495- /// Name as should appear in the (implicit) `extern crate name` declaration.
516+ /// Name as should appear in the (implicit)
517+ /// `extern crate name` declaration.
496518 name: string,
497519}
498520----
0 commit comments