Example Mapping CreationΒΆ
from logging import INFO, Logger, basicConfig, getLogger
from tree_sitter import Language
from albero import Token, TreeSitterHighlighter, generic_tokens, get_lang
# Logging
basicConfig(
level=INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
logger: Logger = getLogger("Main")
# Useful stuff for highlighting
archaic_lang: Language = get_lang("archaic_language")
print(generic_tokens)
custom_mapping: dict[str, str] = {
"xyz_tree_sitter_stuff": "token_in_generic_tokens" # See python mapping in albero source
}
# Highlighting
highlighter = TreeSitterHighlighter()
highlighter.add_language("archaic_language", archaic_lang, {})
highlighter.update_mapping("archaic_language", custom_mapping)
highlighter.add_file("test", "archaic_language")
highlighter.update_file("test", "def test(): ...")
tokens: list[Token] = highlighter.get_highlights("test")
# The logger will print out tree sitter token types not found in the mapping
# and these can be added manually as found best fitting.
See the file example file here.