1use std::borrow::Cow;
2
3pub type QueryFieldAccessor = fn(&mut LanguageQueries) -> &mut Option<Cow<'static, str>>;
4
5pub const QUERY_FILENAME_PREFIXES: &[(&str, QueryFieldAccessor)] = &[
6 ("highlights", |q| &mut q.highlights),
7 ("brackets", |q| &mut q.brackets),
8 ("outline", |q| &mut q.outline),
9 ("indents", |q| &mut q.indents),
10 ("injections", |q| &mut q.injections),
11 ("overrides", |q| &mut q.overrides),
12 ("redactions", |q| &mut q.redactions),
13 ("runnables", |q| &mut q.runnables),
14 ("debugger", |q| &mut q.debugger),
15 ("textobjects", |q| &mut q.text_objects),
16];
17
18/// Tree-sitter language queries for a given language.
19#[derive(Debug, Default)]
20pub struct LanguageQueries {
21 pub highlights: Option<Cow<'static, str>>,
22 pub brackets: Option<Cow<'static, str>>,
23 pub indents: Option<Cow<'static, str>>,
24 pub outline: Option<Cow<'static, str>>,
25 pub injections: Option<Cow<'static, str>>,
26 pub overrides: Option<Cow<'static, str>>,
27 pub redactions: Option<Cow<'static, str>>,
28 pub runnables: Option<Cow<'static, str>>,
29 pub text_objects: Option<Cow<'static, str>>,
30 pub debugger: Option<Cow<'static, str>>,
31}