codebook 0.3.39

A code-aware spell checker library (dependency for codebook-lsp)
Documentation
use codebook::{
    parser::{TextRange, WordLocation},
    queries::LanguageType,
};


#[test]
fn test_toml_location() {
    let sample_toml = r#"
        name = "testx"
        [dependencies]
        toml = "0.5.8"
        testz = "0.1.0"
"#;
    let expected = vec![WordLocation::new(
        "testx".to_string(),
        vec![TextRange {
            start_byte: 17,
            end_byte: 22,
        }],
    )];
    let not_expected = ["testz"];
    let processor = super::utils::get_processor();
    let misspelled = processor
        .spell_check(sample_toml, Some(LanguageType::TOML), None)
        .to_vec();
    println!("Misspelled words: {misspelled:?}");
    assert_eq!(misspelled, expected);
    assert!(misspelled[0].locations.len() == 1);
    for result in misspelled {
        assert!(!not_expected.contains(&result.word.as_str()));
    }
}