ynqa/promkit

Validator type doesn't allow capture of external variables

Opened this issue · 0 comments

Since type Validator<T> = fn(&T) -> bool;, i can't do something like:

let existing_filenames = read_dir(...);

Readline::default()
    .title("Name new file:")
    .validator(|name| !existing_filenames.contains(name.to_string()), |name| format!("File {} already exists", name))
    .prompt()?
    .run()?;

Suggest swapping this to something like type Validator<T> = Box<dyn Fn(&T) -> bool>;