Skip to main content

normalize_languages/
query.rs

1//! Tree-sitter query language support.
2
3use crate::{Language, LanguageSymbols};
4
5/// Tree-sitter query language support.
6pub struct Query;
7
8impl Language for Query {
9    fn name(&self) -> &'static str {
10        "Query"
11    }
12    fn extensions(&self) -> &'static [&'static str] {
13        &["scm"]
14    }
15    fn grammar_name(&self) -> &'static str {
16        "query"
17    }
18
19    fn as_symbols(&self) -> Option<&dyn LanguageSymbols> {
20        Some(self)
21    }
22}
23
24impl LanguageSymbols for Query {}
25
26#[cfg(test)]
27mod tests {
28    use super::*;
29    use crate::validate_unused_kinds_audit;
30
31    #[test]
32    fn unused_node_kinds_audit() {
33        #[rustfmt::skip]
34        let documented_unused: &[&str] = &[
35            "identifier", "quantifier", "field_definition", "predicate_type",
36        ];
37        validate_unused_kinds_audit(&Query, documented_unused)
38            .expect("Query unused node kinds audit failed");
39    }
40}