pub const NO_CHECK_TYPES: &[&str] = &["cert", "lock"];
pub const TYPE_SPECIFIC_DICTS: &[(&str, StaticDictConfig)] = &[
(
"css",
StaticDictConfig {
ignore_idents: &[
"nd", ],
ignore_words: &[],
},
),
(
"man",
StaticDictConfig {
ignore_idents: &[
"Nd", ],
ignore_words: &[],
},
),
(
"py",
StaticDictConfig {
ignore_idents: &[
"NDArray", ],
ignore_words: &[],
},
),
(
"rust",
StaticDictConfig {
ignore_idents: &[
"flate2", ],
ignore_words: &[
"ser", ],
},
),
(
"sh",
StaticDictConfig {
ignore_idents: &[
"ot", "stap", ],
ignore_words: &[],
},
),
(
"vim",
StaticDictConfig {
ignore_idents: &[
"windo", ],
ignore_words: &[],
},
),
(
"vimscript",
StaticDictConfig {
ignore_idents: &[
"windo", ],
ignore_words: &[],
},
),
];
pub struct StaticDictConfig {
pub ignore_idents: &'static [&'static str],
pub ignore_words: &'static [&'static str],
}
#[cfg(test)]
mod tests {
use itertools::Itertools;
use super::TYPE_SPECIFIC_DICTS;
#[test]
fn test_type_specific_dicts_contains_no_duplicates() {
let types: Vec<_> = TYPE_SPECIFIC_DICTS.iter().map(|(typ, _)| *typ).collect();
let types_unique: Vec<_> = types.clone().into_iter().unique().collect();
snapbox::assert_eq(types.join("\n"), types_unique.join("\n"));
}
#[test]
fn test_type_specific_dicts_is_sorted() {
let types: Vec<_> = TYPE_SPECIFIC_DICTS.iter().map(|(typ, _)| *typ).collect();
let types_sorted: Vec<_> = types.iter().cloned().sorted().collect();
snapbox::assert_eq(types.join("\n"), types_sorted.join("\n"));
}
}