def make_node(self): parser = self.parser caret = parser.caret content_start = caret + len(self.pattern) if parser.text[caret:content_start] != self.pattern: return None content_end = parser.text.find(self.pattern, content_start) if content_end == -1 or content_start == content_end: return None if self.tight is True: char_start = parser.text[content_start] char_end = parser.text[content_end - 1] if char_start in EMPTY or char_end in EMPTY: return None node = Element(self.tagname) node.pos = parser.copy_pos() node.inlinepattern_end = content_end parser.update(content_start) return node
def make_node(self): parser = self.parser caret = parser.caret content_start = caret+len(self.pattern) if parser.text[caret:content_start] != self.pattern: return None content_end = parser.text.find(self.pattern, content_start) if content_end == -1 or content_start == content_end: return None if self.tight is True: char_start = parser.text[content_start] char_end = parser.text[content_end-1] if char_start in EMPTY or char_end in EMPTY: return None node = Element(self.tagname) node.pos = parser.copy_pos() node.inlinepattern_end = content_end parser.update(content_start) return node