Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
    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))
Beispiel #4
0
    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)
Beispiel #5
0
    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)