Skip to main content

scope_engine/language/
php.rs

1use super::{LanguageAdapter, LanguageQueries};
2use tree_sitter::Language;
3
4pub struct PhpAdapter;
5
6impl PhpAdapter {
7    #[must_use]
8    pub const fn new() -> Self {
9        Self
10    }
11}
12
13impl Default for PhpAdapter {
14    fn default() -> Self {
15        Self::new()
16    }
17}
18
19impl LanguageAdapter for PhpAdapter {
20    fn language_name(&self) -> &'static str {
21        "php"
22    }
23    fn extensions(&self) -> &[&'static str] {
24        &["php"]
25    }
26    fn language(&self) -> Language {
27        tree_sitter_php::LANGUAGE_PHP.into()
28    }
29    fn queries(&self) -> LanguageQueries {
30        LanguageQueries {
31            definitions: r"
32                (function_definition name: (name) @name) @def
33                (class_declaration name: (name) @name) @def
34                (interface_declaration name: (name) @name) @def
35                (method_declaration name: (name) @name) @def
36            ",
37            references: r"
38                (function_call_expression function: (name) @ref) @call
39                (name) @ref
40            ",
41        }
42    }
43}