dook 0.3.1

Look up definitions in your code
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::language_name::LanguageName;

pub fn dissimilarity(language_name: LanguageName, dep: &str, path: &std::path::Path) -> i32 {
    match language_name {
        LanguageName::PYTHON => {
            let dep_components = dep.split('.');
            let path_components = path.iter();
            let match_count = dep_components
                .rev()
                .zip(path_components.rev())
                .take_while(|x| x.0 == x.1)
                .count();
            -i32::try_from(match_count).unwrap_or(0)
        }
        _ => 0,
    }
}