pub struct HighlightConfiguration {
pub language: Language,
pub language_name: String,
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
§language_name: String
§query: Query
Implementations§
source§impl HighlightConfiguration
impl HighlightConfiguration
sourcepub fn new(
language: Language,
name: impl Into<String>,
highlights_query: &str,
injection_query: &str,
locals_query: &str
) -> Result<Self, QueryError>
pub fn new( language: Language, name: impl Into<String>, 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 const fn names(&self) -> &[&str]
pub const fn names(&self) -> &[&str]
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.