#stdin #stdout #stderr #console #cli

cnsl

A crate that provides methods and macros for interacting with the command line

3 releases

0.1.3 May 27, 2022
0.1.2 May 20, 2022
0.1.1 May 17, 2022
0.1.0 May 17, 2022

#635 in Command-line interface

WTFPL license

7KB
65 lines

cnsl

cnsl is a crate for writing to the standard output, standard error, and reading from standard input.
This crate is lightly coded, and also requires no external dependencies.

Rust Build Status


Usage

readln macro


// without a prompt
use cnsl::readln;

fn main() {
    println!("What is your name?");
    let name = readln!();
    println!("Hello, {}!", name);
}

// with a prompt
use cnsl::readln;

fn main() {
    let name = readln!("Enter your name: ");
    println!("Hello, {}!", name);
}

// with a formatted prompt
// note: defaults are not actually supported, this is just a demonstration
use cnsl::readln;

const DEFAULT_AGE: u8 = 18;

fn main() {
    let age_input = readln!("Enter your age (default {}): ", DEFAULT_AGE);
    
    let age = if age_input.is_empty() {
        DEFAULT_AGE
    } else {
        age_input.parse::<u8>().expect("invalid input for age")
    };
}

Information

License

This software is licensed under the WTFPL.

Contributors


© 2022 WTFPL – Do What the Fuck You Want to Public License.

No runtime deps