firedbg_cli/lib.rs
1//! ## FireDBG Command Line Interface
2//!
3//! `firedbg-cli` is a CLI to invoke all FireDBG operations.
4//!
5//! ### Cargo Workspace
6//!
7//! The `firedbg` command can only act on [Cargo Workspace](https://doc.rust-lang.org/cargo/reference/workspaces.html). If you have a simple dependency free rust file, you still need to put it under a cargo workspace for `firedbg` to work properly.
8//!
9//! There are two ways to tell `firedbg` where is the root directory of a cargo workspace:
10//!
11//! 1. By default, the current directory will be the root directory of a cargo workspace
12//! 2. Or, overriding it with `--workspace-root` option, i.e. `firedbg --workspace-root <WORKSPACE-ROOT>`
13//!
14//! ### Common Subcommands
15//!
16//! - `cache`: Parse all `.rs` source files in the current workspace
17//! - `clean`: Cleanup the `firedbg/` folder
18//! - `list-target`: List all runnable targets
19//! - `run`: Run a binary target with debugging enabled
20//! - `example`: Run an example with debugging enabled
21//! - `test`: Run an integrated test with debugging enabled
22//! - `unit-test`: Run a unit test with debugging enabled
23//! - `index`: Run indexer on the latest run and save it as a `.sqlite` db file
24//! - `list-run`: List all `firedbg` runs
25//! - `open`: Open debugger view in VS Code
26//! - `help`: Print help message or the help of the given subcommand(s)
27//!
28//! You can get the help messages by appending the `--help` flag.
29//!
30//! ### The `firedbg.toml` Config File
31//!
32//! By default FireDBG will only trace the function calls of the debugging package. If you want to trace other packages in your local workspace, you will need to create a `firedbg.toml` config file on your workspace root.
33//!
34//! ```toml
35//! [workspace.members]
36//! quicksort = { trace = "full" }
37//! # Syntax: <PACKAGE> = { trace = "<full | none>" }
38//! ```
39#![deny(
40 missing_debug_implementations,
41 clippy::missing_panics_doc,
42 clippy::unwrap_used
43)]
44
45pub mod cfg;
46pub mod console;