mirror of
https://github.com/sharkdp/bat.git
synced 2025-03-22 18:48:28 +00:00
This macro is intended to be package-internal and is not to be considered part of the public lib API. Use it in three places to reduce code duplication. However, main reason for this refactoring is to allow us to fix #1063 without duplicating the code yet another time. The macro can also be used for the "Binary content from {} will not be printed to the terminal" message if that message starts to use eprintln! instead (if ever). To trigger/verify the changed code, the following commands can be used: cargo run -- --theme=ansi-light tests/examples/single-line.txt cargo run -- --theme=does-not-exist tests/examples/single-line.txt cargo run -- --style=grid,rule tests/examples/single-line.txt
51 lines
1.3 KiB
Rust
51 lines
1.3 KiB
Rust
//! `bat` is a library to print syntax highlighted content.
|
|
//!
|
|
//! The main struct of this crate is `PrettyPrinter` which can be used to
|
|
//! configure and run the syntax highlighting.
|
|
//!
|
|
//! If you need more control, you can also use the structs in the submodules
|
|
//! (start with `controller::Controller`), but note that the API of these
|
|
//! internal modules is much more likely to change. Some or all of these
|
|
//! modules might be removed in the future.
|
|
//!
|
|
//! "Hello world" example:
|
|
//! ```
|
|
//! use bat::PrettyPrinter;
|
|
//!
|
|
//! PrettyPrinter::new()
|
|
//! .input_from_bytes(b"<span style=\"color: #ff00cc\">Hello world!</span>\n")
|
|
//! .language("html")
|
|
//! .print()
|
|
//! .unwrap();
|
|
//! ```
|
|
|
|
mod macros;
|
|
|
|
pub mod assets;
|
|
pub mod assets_metadata;
|
|
pub mod config;
|
|
pub mod controller;
|
|
mod decorations;
|
|
mod diff;
|
|
pub mod error;
|
|
pub mod input;
|
|
mod less;
|
|
pub mod line_range;
|
|
mod output;
|
|
#[cfg(feature = "paging")]
|
|
pub(crate) mod paging;
|
|
mod preprocessor;
|
|
mod pretty_printer;
|
|
pub(crate) mod printer;
|
|
pub mod style;
|
|
pub(crate) mod syntax_mapping;
|
|
mod terminal;
|
|
pub(crate) mod wrapping;
|
|
|
|
pub use pretty_printer::{Input, PrettyPrinter};
|
|
pub use syntax_mapping::{MappingTarget, SyntaxMapping};
|
|
pub use wrapping::WrappingMode;
|
|
|
|
#[cfg(feature = "paging")]
|
|
pub use paging::PagingMode;
|