oma-inquire 0.6.0

inquire is a library for building interactive prompts on terminals
Documentation
use inquire::{formatter::MultiOptionFormatter, Sort};

fn main() {
    let todos = vec![
        "Fix critical database connection leak",
        "Refactor package manager auth logic",
        "Design gorgeous TUI rendering layouts",
        "Add comprehensive tests for action.rs",
        "Update documentation with exquisite details",
    ];

    let formatter: MultiOptionFormatter<'_, &str> = &|ans| {
        if ans.is_empty() {
            "Empty list".to_string()
        } else if ans.len() == 1 {
            format!("1 task (High priority: {})", ans[0].value)
        } else {
            format!("{} tasks ordered", ans.len(),)
        }
    };

    let ans = Sort::new("Arrange these tasks in order of importance:", todos)
        .with_vim_mode(true)
        .with_formatter(formatter)
        .prompt();

    match ans {
        Ok(sorted_tasks) => {
            println!("Excellent! Here is your structured roadmap:");
            for (index, task) in sorted_tasks.iter().enumerate() {
                println!("  {}. {}", index + 1, task);
            }
        }
        Err(_) => {
            println!("Sorting cancelled. Tasks will remain in their default order.");
        }
    }
}