Here are the examples of the python api qutepart.syntax.parser.Parser taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
0
Example 1
Project: qutepart Source File: loader.py
def loadSyntax(syntax, filePath, formatConverterFunction = None):
_logger.debug("Loading syntax %s", filePath)
with open(filePath, 'r', encoding='utf-8') as definitionFile:
try:
root = xml.etree.ElementTree.parse(definitionFile).getroot()
except Exception as ex:
print('When opening %s:' % filePath, file=sys.stderr)
raise
highlightingElement = root.find('highlighting')
_loadSyntaxDescription(root, syntax)
deliminatorSet = set(_DEFAULT_DELIMINATOR)
# parse lists
lists = _loadLists(root, highlightingElement)
# parse itemData
keywordsCaseSensitive = True
generalElement = root.find('general')
if generalElement is not None:
keywordsElement = generalElement.find('keywords')
if keywordsElement is not None:
keywordsCaseSensitive = _parseBoolAttribute(keywordsElement.get('casesensitive', "true"))
if not keywordsCaseSensitive:
_makeKeywordsLowerCase(lists)
if 'weakDeliminator' in keywordsElement.attrib:
weakSet = keywordsElement.attrib['weakDeliminator']
deliminatorSet.difference_update(weakSet)
if 'additionalDeliminator' in keywordsElement.attrib:
additionalSet = keywordsElement.attrib['additionalDeliminator']
deliminatorSet.update(additionalSet)
indentationElement = generalElement.find('indentation')
if indentationElement is not None and \
'mode' in indentationElement.attrib:
syntax.indenter = indentationElement.attrib['mode']
deliminatorSetAsString = ''.join(list(deliminatorSet))
debugOutputEnabled = _logger.isEnabledFor(logging.DEBUG) # for cParser
parser = _parserModule.Parser(syntax, deliminatorSetAsString, lists, keywordsCaseSensitive, debugOutputEnabled)
syntax._setParser(parser)
attributeToFormatMap = _loadAttributeToFormatMap(highlightingElement)
# parse contexts
_loadContexts(highlightingElement, syntax.parser, attributeToFormatMap, formatConverterFunction)
return syntax