joa_lampela_todo_cli 0.1.0

A minimal TODO CLI app I made while learning Rust. Not expecting it to be useful.
Documentation
use joa_lampela_todo_cli::menu::{add_task, clear_terminal, confirm_action, delete_task_options, edit_tasks_options, list_task_options, print_menu, read_line};
use joa_lampela_todo_cli::repository::{read_tasks_from_file};
use joa_lampela_todo_cli::task::Task;

fn main() -> () {
    clear_terminal();
    let mut tasks: Vec<Task> = read_tasks_from_file();
    let mut buffer: String;
    let mut id_counter: u32 = tasks.iter()
        .map(|task| task.id).max().unwrap_or(0);
    
    loop {
        println!("-----Options-----");
        print_menu();
        buffer = read_line("Please select an option");

        println!("-----Output-----");
        match buffer.trim() {
            "1" => add_task(&mut tasks, &mut id_counter),
            "2" => list_task_options(&tasks),
            "3" => edit_tasks_options(&mut tasks),
            "4" => delete_task_options(&mut tasks),
            "5" => if confirm_action() { break; },
            _ => println!("Invalid option: {}", buffer.trim())
        }

        _ = read_line("Press enter to continue...");
        clear_terminal();
    }
}