scope_engine/language/
ruby.rs1use super::{LanguageAdapter, LanguageQueries};
2use tree_sitter::Language;
3
4pub struct RubyAdapter;
5
6impl RubyAdapter {
7 #[must_use]
8 pub const fn new() -> Self {
9 Self
10 }
11}
12
13impl Default for RubyAdapter {
14 fn default() -> Self {
15 Self::new()
16 }
17}
18
19impl LanguageAdapter for RubyAdapter {
20 fn language_name(&self) -> &'static str {
21 "ruby"
22 }
23 fn extensions(&self) -> &[&'static str] {
24 &["rb"]
25 }
26 fn language(&self) -> Language {
27 tree_sitter_ruby::LANGUAGE.into()
28 }
29 fn queries(&self) -> LanguageQueries {
30 LanguageQueries {
31 definitions: r"
32 (method name: (identifier) @name) @def
33 (singleton_method name: (identifier) @name) @def
34 (class name: (constant) @name) @def
35 (module name: (constant) @name) @def
36 ",
37 references: r"
38 (call method: (identifier) @ref) @call
39 (identifier) @ref
40 ",
41 }
42 }
43}