mirror of
https://github.com/ivabus/smurf
synced 2024-11-21 16:05:11 +03:00
No description
Ivan Bushchik
8449b97658
- add read_file_bytes - rename read_file_to_str() -> read_file_str() - change return types of read_file_* to Result<T, std::io::Error> - unpub shell::run() - don't overwrite $PATH in shell::run() - remove unnecessary tests Signed-off-by: Ivan Bushchik <ivabus@ivabus.dev> |
||
---|---|---|
src | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.toml | ||
LICENSE | ||
README.md |
SmURF
SMall Useful Rust Functions
Components
IO
- macros input!(T) and input_vec!(T), that could be used to simplify stdin process
- read_file_str() basically reads file to string (yes.)
- read_file_bytes() see read_file_str()
Shell
- macros shell!()
Usage
Add this to your Cargo.toml
:
[dependencies]
smurf = "0.3"
and this to your crate root:
extern crate smurf;
Example
use smurf;
use std::io::Write;
fn main() {
print!("What is your name? ");
std::io::stdout().flush().unwrap();
let user_name = input!(String);
print!("What is your age? ");
std::io::stdout().flush().unwrap();
let user_age = input!(u8);
let shell_output = shell!("echo Hello {} of age {}", user_name, user_age); // Returns ShellResult {code: i32, stdout: String, stderr: String}
println!("Shell output: {}", shell_output.stdout);
println!("Shell stderr: {}", shell_output.stderr);
println!("Shell exit code: {}", shell_output.code);
}