Skip to content

A simple wrapper for Rustyline which provides 2 easy to use CLI prompting functions.

License

Notifications You must be signed in to change notification settings

gatewaynode/simple_prompts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Prompts

GitHub Workflow Status Crates.io Crates.io

This is a very basic wrapper around the Rustyline crate that provides just 3 simple and easy to use functions. The function prompt(&str), takes a string as a parameter to display as an input prompt and returns the keyboard input (sans the newline). The function edit_prompt(&str, &str) takes 2 parameters: the first, is just the prompt string, the second is an existing value you want to edit (be it a default or some other value) and returns any input. The function filter_prompt works exactly like prompt but filters HTML control characters as HTML entities (note: this does not protect the string from XSS which can account for the entity encoding).

That's it.

If you need more flexibility or features, just drop back to Rustyline. This library was just designed to save ~50 lines of code and make my source code cleaner on other projects.

Example

main.rs

use simple_prompts::{prompt, edit_prompt, filter_prompt};

fn main() {
    let mut our_input: String = prompt("Enter some text: ");
    println!("You entered: {}", our_input);

    our_input = filter_prompt("Now try entering some text to filter like \"  or < ");

    our_input = edit_prompt("You entered was filtered to this, change it: ", &our_input);
    println!("Final value is: {}", our_input)
}

About

A simple wrapper for Rustyline which provides 2 easy to use CLI prompting functions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages