Popularity
2.1
Growing
Activity
0.0
Stable
55
6
5

Programming language: Rust
Tags: Command-line     Prompt    
Latest version: v0.1.2

terminal_cli.rs alternatives and similar packages

Based on the "Prompt" category.
Alternatively, view terminal_cli.rs alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of terminal_cli.rs or a related project?

Add another 'Prompt' Package

README

Terminal CLI

Need to build an interactive command prompt, with commands, properties and with full autocomplete? This is for you.

Build Status

Documentation

Example, output only (Rust's stdout)


// Simple ranged integer property
let mut num1 = 1;

// Rust stdout terminal
let mut terminal = StdoutTerminal;

let options = PromptBufferOptions { echo: true, ..Default::default() };
let mut prompt = PromptBuffer::new(options);

let input_keys = [Key::Character('h' as u8), Key::Character('e' as u8), Key::Character('l' as u8),
                  Key::Character('p' as u8), Key::Newline];

for key in &input_keys {
    let p = prompt.handle_key(*key, &mut terminal, |mut m| {
        if let Some(mut ctx) = m.command("help") {
            ctx.get_terminal().print_line("Help!");
        }

        // Provides "num1/get" and "num1/set", with input validation
        if let Some(mut ctx) = m.property("num1", validate_property_min_max(1, 100)) {
            ctx.apply(&mut num1);
        }
    });

    if let PromptEvent::Break = p {
        break;
    }
}

License: MIT/Apache-2.0


*Note that all licence references and agreements mentioned in the terminal_cli.rs README section above are relevant to that project's source code only.