file_identify/
interpreters.rs

1use crate::tags::TagSet;
2use std::collections::{HashMap, HashSet};
3
4lazy_static::lazy_static! {
5    pub static ref INTERPRETERS: HashMap<&'static str, TagSet> = {
6        let mut map = HashMap::new();
7
8        map.insert("ash", HashSet::from(["shell", "ash"]));
9        map.insert("awk", HashSet::from(["awk"]));
10        map.insert("bash", HashSet::from(["shell", "bash"]));
11        map.insert("bats", HashSet::from(["shell", "bash", "bats"]));
12        map.insert("cbsd", HashSet::from(["shell", "cbsd"]));
13        map.insert("csh", HashSet::from(["shell", "csh"]));
14        map.insert("dash", HashSet::from(["shell", "dash"]));
15        map.insert("expect", HashSet::from(["expect"]));
16        map.insert("ksh", HashSet::from(["shell", "ksh"]));
17        map.insert("node", HashSet::from(["javascript"]));
18        map.insert("nodejs", HashSet::from(["javascript"]));
19        map.insert("perl", HashSet::from(["perl"]));
20        map.insert("php", HashSet::from(["php"]));
21        map.insert("php7", HashSet::from(["php", "php7"]));
22        map.insert("php8", HashSet::from(["php", "php8"]));
23        map.insert("python", HashSet::from(["python"]));
24        map.insert("python2", HashSet::from(["python", "python2"]));
25        map.insert("python3", HashSet::from(["python", "python3"]));
26        map.insert("ruby", HashSet::from(["ruby"]));
27        map.insert("sh", HashSet::from(["shell", "sh"]));
28        map.insert("tcsh", HashSet::from(["shell", "tcsh"]));
29        map.insert("zsh", HashSet::from(["shell", "zsh"]));
30
31        map
32    };
33}