-
Notifications
You must be signed in to change notification settings - Fork 2
/
example.py
27 lines (20 loc) · 675 Bytes
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import logging
from pathlib import Path
from pprint import pprint
from textmate_grammar.parsers.matlab import MatlabParser
from textmate_grammar.utils.cache import init_cache
# Initialize shelved cache
init_cache("shelve")
# Enable debug logging
logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger("textmate_grammar").setLevel(logging.INFO)
# Initialize language parser
parser = MatlabParser()
# Parse file
filePath = Path(__file__).parent / "syntaxes" / "matlab" / "AnEnum.m"
element = parser.parse_file(filePath)
# Print element
element.print()
# Find all enum members
enum_members = element.findall('variable.other.enummember.matlab')
pprint(enum_members)