forc_doc/cli.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
//! The command line interface for `forc doc`.
use clap::Parser;
use forc_pkg::source::IPFSNode;
forc_util::cli_examples! {
crate::cli::Command {
[ Build the docs for a project in the current path => "forc doc"]
[ Build the docs for a project in the current path and open it in the browser => "forc doc --open" ]
[ Build the docs for a project located in another path => "forc doc --path {path}" ]
[ Build the docs for the current project exporting private types => "forc doc --document-private-items" ]
[ Build the docs offline without downloading any dependencies => "forc doc --offline" ]
}
}
/// Forc plugin for building a Sway package's documentation
#[derive(Debug, Parser, Default)]
#[clap(
name = "forc-doc",
after_help = help(),
version
)]
pub struct Command {
/// Path to the project.
///
/// If not specified, current working directory will be used.
#[clap(short, long, alias = "manifest-path")]
pub path: Option<String>,
/// Include non-public items in the documentation.
#[clap(long)]
pub document_private_items: bool,
/// Open the docs in a browser after building them.
#[clap(long)]
pub open: bool,
/// Offline mode, prevents Forc from using the network when managing dependencies.
/// Meaning it will only try to use previously downloaded dependencies.
#[clap(long = "offline")]
pub offline: bool,
/// Requires that the Forc.lock file is up-to-date. If the lock file is missing, or it
/// needs to be updated, Forc will exit with an error.
#[clap(long)]
pub locked: bool,
/// Do not build documentation for dependencies.
#[clap(long)]
pub no_deps: bool,
/// The IPFS Node to use for fetching IPFS sources.
///
/// Possible values: PUBLIC, LOCAL, <GATEWAY_URL>
#[clap(long)]
pub ipfs_node: Option<IPFSNode>,
#[cfg(test)]
pub(crate) doc_path: Option<String>,
#[clap(flatten)]
pub experimental: sway_features::CliFields,
/// Silent mode. Don't output any warnings or errors to the command line.
#[clap(long = "silent", short = 's')]
pub silent: bool,
}