The cleopatra Crate

Rust library and tools of cleopatra current rely on the following crates.

colored "1.9" Coloring the terminal output
clap "2.33" Parsing command-line arguments
serde { version = "*", features = ["derive"] } Serialization and deserialization for Rust values
toml "*" Parsing cleopatra.toml files
lazy_static "*" Initialize the hash map of assets of cleopatra

The rest of this chapter is dedicated to the implementation details of the crate cleopatra, and proceeds as follows:

1 – Error Handling
Following Rust best practices, we handle error thanks to the Result type, with an ad-hoc Error type. Reading this chapter is mandatory for anyone willing to contribute to cleopatra as “shit happens” and we have to deal with it.
2 – cleopatra Projects
cleopatra as a tools needs some notion of “project” —or “workspace”— to work with. In this chapter, we specify how a cleopatra project works, and provide the necessary Rust functions and types to manipulate them.
3 — cleopatra Command-Line Interface

Author: Thomas Letan

Created: 2020-12-20 Sun 12:56