pub struct HighlightConfiguration {
pub language: Language,
pub query: Query,
/* private fields */
}
Expand description
Contains the data needed to highlight code written in a particular language.
This struct is immutable and can be shared between threads.
Fields§
§language: Language
§query: Query
Implementations§
source§impl HighlightConfiguration
impl HighlightConfiguration
sourcepub fn new(
language: Language,
highlights_query: &str,
injection_query: &str,
locals_query: &str
) -> Result<Self, QueryError>
pub fn new( language: Language, highlights_query: &str, injection_query: &str, locals_query: &str ) -> Result<Self, QueryError>
Creates a HighlightConfiguration
for a given Language
and set of highlighting
queries.
Parameters
language
- The Tree-sitterLanguage
that should be used for parsing.highlights_query
- A string containing tree patterns for syntax highlighting. This should be non-empty, otherwise no syntax highlights will be added.injections_query
- A string containing tree patterns for injecting other languages into the document. This can be empty if no injections are desired.locals_query
- A string containing tree patterns for tracking local variable definitions and references. This can be empty if local variable tracking is not needed.
Returns a HighlightConfiguration
that can then be used with the highlight
method.
sourcepub fn names(&self) -> &[String]
pub fn names(&self) -> &[String]
Get a slice containing all of the highlight names used in the configuration.
sourcepub fn configure(&mut self, recognized_names: &[impl AsRef<str>])
pub fn configure(&mut self, recognized_names: &[impl AsRef<str>])
Set the list of recognized highlight names.
Tree-sitter syntax-highlighting queries specify highlights in the form of dot-separated
highlight names like punctuation.bracket
and function.method.builtin
. Consumers of
these queries can choose to recognize highlights with different levels of specificity.
For example, the string function.builtin
will match against function.method.builtin
and function.builtin.constructor
, but will not match function.method
.
When highlighting, results are returned as Highlight
values, which contain the index
of the matched highlight this list of highlight names.