Struct tree_sitter::Query
source · [−]pub struct Query { /* private fields */ }
Expand description
A set of patterns that match nodes in a syntax tree.
Implementations
sourceimpl Query
impl Query
sourcepub fn new(language: Language, source: &str) -> Result<Self, QueryError>
pub fn new(language: Language, source: &str) -> Result<Self, QueryError>
Create a new query from a string containing one or more S-expression patterns.
The query is associated with a particular language, and can only be run on syntax nodes parsed with that language. References to Queries can be shared between multiple threads.
sourcepub fn start_byte_for_pattern(&self, pattern_index: usize) -> usize
pub fn start_byte_for_pattern(&self, pattern_index: usize) -> usize
Get the byte offset where the given pattern starts in the query’s source.
sourcepub fn pattern_count(&self) -> usize
pub fn pattern_count(&self) -> usize
Get the number of patterns in the query.
sourcepub fn capture_names(&self) -> &[String]
pub fn capture_names(&self) -> &[String]
Get the names of the captures used in the query.
sourcepub fn capture_quantifiers(&self, index: usize) -> &[CaptureQuantifier]
pub fn capture_quantifiers(&self, index: usize) -> &[CaptureQuantifier]
Get the quantifiers of the captures used in the query.
sourcepub fn capture_index_for_name(&self, name: &str) -> Option<u32>
pub fn capture_index_for_name(&self, name: &str) -> Option<u32>
Get the index for a given capture name.
sourcepub fn property_predicates(&self, index: usize) -> &[(QueryProperty, bool)]
pub fn property_predicates(&self, index: usize) -> &[(QueryProperty, bool)]
Get the properties that are checked for the given pattern index.
This includes predicates with the operators is?
and is-not?
.
sourcepub fn property_settings(&self, index: usize) -> &[QueryProperty]
pub fn property_settings(&self, index: usize) -> &[QueryProperty]
Get the properties that are set for the given pattern index.
This includes predicates with the operator set!
.
sourcepub fn general_predicates(&self, index: usize) -> &[QueryPredicate]
pub fn general_predicates(&self, index: usize) -> &[QueryPredicate]
Get the other user-defined predicates associated with the given index.
This includes predicate with operators other than:
match?
eq?
andnot-eq?
is?
andis-not?
set!
sourcepub fn disable_capture(&mut self, name: &str)
pub fn disable_capture(&mut self, name: &str)
Disable a certain capture within a query.
This prevents the capture from being returned in matches, and also avoids any resource usage associated with recording the capture.
sourcepub fn disable_pattern(&mut self, index: usize)
pub fn disable_pattern(&mut self, index: usize)
Disable a certain pattern within a query.
This prevents the pattern from matching, and also avoids any resource usage associated with the pattern.
sourcepub fn is_pattern_guaranteed_at_step(&self, byte_offset: usize) -> bool
pub fn is_pattern_guaranteed_at_step(&self, byte_offset: usize) -> bool
Check if a given step in a query is ‘definite’.
A query step is ‘definite’ if its parent pattern will be guaranteed to match successfully once it reaches the step.
Trait Implementations
impl Send for Query
impl Sync for Query
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more