def make_node(self): parser = self.parser if parser.text[parser.caret] != '_': return None if parser.text[parser.caret - 1] not in EMPTY: return None found = False index = parser.caret while found is False: index = parser.text.find('_', index + 1, parser.end) if index == -1 or parser.text[index - 1] in EMPTY: return None char = parser.text[index + 1:index + 2] if char.isalpha() or char in '&': pass else: found = True if parser.caret + 1 == index: return None pos = parser.copy_pos() parser.update(parser.caret + 1) node = Element('em') node.pos = pos node.smartem_end = index return node
def make_node(self): parser = self.parser if parser.text[parser.caret] != '_': return None if parser.text[parser.caret-1] not in EMPTY: return None found = False index = parser.caret while found is False: index = parser.text.find('_', index+1, parser.end) if index == -1 or parser.text[index-1] in EMPTY: return None char = parser.text[index+1:index+2] if char.isalpha() or char in '&': pass else: found = True if parser.caret+1 == index: return None pos = parser.copy_pos() parser.update(parser.caret+1) node = Element('em') node.pos = pos node.smartem_end = index return node