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,
name: impl Into<String>,
highlights_query: &str,
injection_query: &str,
locals_query: &str,
apply_all_captures: bool,
) -> Result<Self, QueryError>
pub fn new( language: Language, name: impl Into<String>, highlights_query: &str, injection_query: &str, locals_query: &str, apply_all_captures: bool, ) -> 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.
pub fn nonconformant_capture_names( &self, capture_names: &HashSet<&str>, ) -> Vec<&str>
Sourcepub fn serializable(
self,
) -> Result<SerializableHighlightConfig, SerializationError>
pub fn serializable( self, ) -> Result<SerializableHighlightConfig, SerializationError>
Convert self
into a serializable version.
Sourcepub fn deserialize(
serialized: SerializableHighlightConfig,
language: Language,
) -> Result<Self, SerializationError>
pub fn deserialize( serialized: SerializableHighlightConfig, language: Language, ) -> Result<Self, SerializationError>
Deserialize the serializable version of a highlight configuration.