batgrl.queries#
Functions and classes for syntax highlighting with tree-sitter.
Functions
|
|
|
Combine a syntax tree's changed ranges into a single range. |
|
Return a highlighter for a given language. |
|
Register a tree-sitter language and its queries for syntax highlighting. |
Classes
|
Language, parser, and queries needed for syntax highlighting. |
- class batgrl.queries.Highlighter(language_name: str, language: Language, parser: Parser, highlights: Query, injections: Query | None = None)#
Bases:
object
Language, parser, and queries needed for syntax highlighting.
- Attributes:
- injections
- highlights: Query#
A highlight query for syntax highlighting.
- injections: Query | None = None#
Optional injection query for injected languages.
- language: Language#
A tree-sitter language.
- language_name: str#
Name of language.
- parser: Parser#
A tree-sitter parser for given language.
- batgrl.queries.changed_ranges_point_range(changed_ranges: list[Range]) tuple[TSPoint, TSPoint] #
Combine a syntax tree’s changed ranges into a single range.
- Parameters:
- changed_rangeslist[Range]
Non-empty list of changed ranges.
- Returns:
- tuple[TSPoint, TSPoint]
Combined range of changed ranges.
- batgrl.queries.get_highlighter(language: str) Highlighter | None #
Return a highlighter for a given language.
- Parameters:
- languagestr
Name of the language.
- Returns:
- Highlighter | None
Highlighter for a given language if found.
- batgrl.queries.register_language(language_name: str, language: Language, highlights_source: str, injections_source: str | None = None) None #
Register a tree-sitter language and its queries for syntax highlighting.
Once registered, a
Highlighter
forlanguage_name
can be retrieved withget_highlighter
.- Parameters:
- language_namestr
Name of the language.
- languagetree_sitter.Language
A tree-sitter language.
- highlights_sourcestr
Source for highlight queries.
- injections_sourcestr | None, default: None
Optional source for injection queries. Injection language must exist to be highlighted.