auto_correct 0.1.4

A library to provide auto correct suggestions. Currently supporting EN-US.
Documentation

[Auto_Correct] docsrs

Rusty_Express on crates.io Rusty_Express on docs.rs

What is this

This library provides the service to suggest auto-corrections on words within 1 ~ 3 edit distances, based on configurations.

Currently the project only supports English words corrections, and we plan to expand the service to more languages.

How to use

In your project's Cargo.toml, add dependency:

[dependencies]
auto_correct = "^0.1.0"
...

In src\main.rs:

extern crate auto_correct;

use auto_correct::prelude::*;

fn main() {
    // Initialize the service
    let correct_service = AutoCorrect::new();

    // Vector `results` contains an array of the `Candidate` objects, which is sorted by scores
    let results = correct_service.candidates("wodr");

    // Print out the result to the screen
    for idx in 0..results.len() {
        println!("Suggestion #{}: {}; Score: {}; Edit Distance: {}",
                    idx, results[idx].word, results[idx].score, results[idx].edit);
    }
}

Alternatively, if you would want a more responsive approach, you can use the candidate_async function to get the corrections:

extern crate auto_correct;

use std::sync::mpsc;
use auto_correct::prelude::*;

fn main() {
    // Initialize the service
    let correct_service = AutoCorrect::new();
    let (tx, rx) = mpsc::channel();

    // Vector `results` contains an array of the `Candidate` objects, which is sorted by scores
    correct_service.candidates_async("wodr", tx);

    // Print out the result to the screen when receiving new suggestions. Note that the received results are not ranked.
    for result in rx {
        println!("Suggestion: {}; Score: {}; Edit Distance: {}",
                 result.word, result.score, result.edit);
    }
}