| Crates.io | tprint |
| lib.rs | tprint |
| version | 1.0.1 |
| created_at | 2025-01-21 15:59:17.545767+00 |
| updated_at | 2025-01-21 23:57:19.405373+00 |
| description | A simple crate to print tabular data |
| homepage | |
| repository | https://github.com/wizzard/tprint-rs |
| max_upload_size | |
| id | 1525020 |
| size | 93,190 |
A simple Rust crate to print tabular data. A similar C library: libtprint
use tprint::{TPrint, TPrintAlign};
fn main() -> std::io::Result<()> {
TPrint::new(true, true, 10, 3).
column_add("Name", TPrintAlign::Center, TPrintAlign::Left).
column_add("Age", TPrintAlign::Center, TPrintAlign::Center).
column_add("City", TPrintAlign::Center, TPrintAlign::Right).
column_add("Job title", TPrintAlign::Center, TPrintAlign::Left).
column_add("โ๐ ๐ฅ๐๐ค", TPrintAlign::Center, TPrintAlign::Center).
add_data("Fernando Alameda").
add_data(42).
add_data("London").
add_data("Software developer").
add_data("โฝโโโโ โโโกโโ").
add_data("Teo Ocaรฑa").
add_data(1).
add_data("Madrid").
add_data("Accountant").
add_data("โค๏ธ๐ด๐คฆ๐ผโโ๏ธ").
print()
}

use tprint::{TPrint, TPrintAlign, TPrintOutputString, TPrintBordersUnicode};
use std::cell::RefCell;
use std::rc::Rc;
fn main() -> std::io::Result<()> {
let str_output = Rc::new(RefCell::new(TPrintOutputString::new()));
let borders = Rc::new(RefCell::new(TPrintBordersUnicode {}));
let mut str_tprint = TPrint::new_with_borders_output(borders, str_output.clone(), true, true, 0, 1);
str_tprint.column_add("Left", TPrintAlign::Left, TPrintAlign::Left);
str_tprint.column_add("Center", TPrintAlign::Center, TPrintAlign::Center);
str_tprint.column_add("Right", TPrintAlign::Right, TPrintAlign::Right);
str_tprint.add_data("");
str_tprint.add_data("");
str_tprint.add_data("");
let j:i64 = 10;
const MAX:u32 = 10;
for i in 0..MAX {
str_tprint.add_data(j.pow(i).to_string());
str_tprint.add_data(j.pow(i).to_string());
str_tprint.add_data(j.pow(MAX-i-1).to_string());
}
str_tprint.print();
println!("{}", str_output.borrow().get_str());
Ok(())
}

use tprint::{TPrint, TPrintAlign, TPrintBordersHTML, TPrintOutputFile};
use std::cell::RefCell;
use std::rc::Rc;
const OUT_FILE: &str = "/tmp/tprint.html";
fn main() -> std::io::Result<()> {
let output = Rc::new(RefCell::new(TPrintOutputFile::new(OUT_FILE).unwrap()));
let borders = Rc::new(RefCell::new(TPrintBordersHTML {}));
TPrint::new_with_borders_output(borders, output, true, true, 0, 1).
column_add("Name", TPrintAlign::Center, TPrintAlign::Left).
column_add("Age", TPrintAlign::Center, TPrintAlign::Center).
column_add("City", TPrintAlign::Center, TPrintAlign::Right).
column_add("Job title", TPrintAlign::Center, TPrintAlign::Left).
column_add("โ๐ ๐ฅ๐๐ค", TPrintAlign::Center, TPrintAlign::Center).
add_data("Fernando Alameda").
add_data(42).
add_data("London").
add_data("Software developer").
add_data("โฝโโโโ โโโกโโ").
add_data("Teo Ocaรฑa").
add_data(1).
add_data("Madrid").
add_data("Accountant").
add_data("โค๏ธ๐ด๐คฆ๐ผโโ๏ธ").
print()
}

More examples in examples folder.
Licensed under the Apache License, Version 2.0 (the "License").