# Proceed Current Release: v0.1.0 [![License](https://img.shields.io/crates/l/proceed.svg)](https://choosealicense.com/licenses/mit/) [![builds.sr.ht status](https://builds.sr.ht/~dstar4138/proceed.svg)](https://sr.ht/~dstar4138/proceed) [![Latest version](https://img.shields.io/crates/v/proceed.svg)](https://crates.io/crates/proceed) [![Documentation](https://docs.rs/proceed/badge.svg)](https://docs.rs/proceed) A simple set of common utility functions for checking with the user of your command line application. * `proceed(bool)` - Y/N with default. * `any_or_quit_with(char)` - Any key unless char for quit. These are wrappers around a flexible user-input checker, so you can customize as needed. ### Out-of-Scope: * `no_std` - We need std I/O. * Translations or handling string output in general. Use any of the i18n packages. ### Examples: Just check yes or no, with a default of either `YES` or `NO`. ```rust use proceed::{proceed, NO}; fn main() { print!("Are you sure? [y/N]"); if !proceed(NO) { return; } // Do things now that we got confirmation. } ``` Continue on any user input (but 'q' for quit). Needs `term` feature enabled, otherwise user will need to press "Enter" afterwards. ```rust use proceed::any_or_quit; fn main() { println!("We are about to do something expensive."); print!("Press any key to continue, or 'q' to quit."); if !any_or_quit_with('q') { println!("Quitting."); return; } // Do expensive operation. } ```