def wrapper(self, *args, **kwargs): if self.refresh_cache or vim.eval("&mod") == '1': self.parser.feed(v.buf()) if self.parser.success: self.cache = self.parser.tree self.refresh_cache = False else: v.clear_hl('BreezeJumpMark', 'BreezeShade') self.refresh_cache = True return else: self.parser.tree = self.cache return f(self, *args, **kwargs)
def jump(self, backward=False): """To display jump marks and move to the selected jump mark.""" table = self._show_jump_marks(v.cursor(), backward) choice = None while choice not in table: choice = self._ask_target_key() if choice is None: break v.clear_hl('BreezeJumpMark', 'BreezeShade') self._clear_jump_marks(table) if choice: row, col = table[choice][0] if not settings.get("jump_to_angle_bracket", bool): col += 1 v.cursor((row, col))
def highlight_curr_element(self): """Highlights opening and closing tags of the current element.""" v.clear_hl('BreezeHl') node = self.parser.get_current_node() if not node: return line, scol = node.start[0], node.start[1] + 1 ecol = scol + len(node.tag) + 1 patt = "\\%{0}l\\%>{1}c\%<{2}c".format(line, scol, ecol) v.highlight("BreezeHl", patt) if node.tag not in misc.empty_tags: line, scol = node.end[0], node.end[1] + 1 ecol = scol + len(node.tag) + 2 patt = "\\%{0}l\\%>{1}c\%<{2}c".format(line, scol, ecol) v.highlight("BreezeHl", patt)
def highlight_curr_element(self): """Highlights opening and closing tags of the current element.""" v.clear_hl('BreezeHl') node = self.parser.get_current_node() if not node: return line, scol = node.start[0], node.start[1]+1 ecol = scol + len(node.tag) + 1 patt = "\\%{0}l\\%>{1}c\%<{2}c".format(line, scol, ecol) v.highlight("BreezeHl", patt) if node.tag not in misc.empty_tags: line, scol = node.end[0], node.end[1]+1 ecol = scol + len(node.tag) + 2 patt = "\\%{0}l\\%>{1}c\%<{2}c".format(line, scol, ecol) v.highlight("BreezeHl", patt)