vi_motions.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:NeoVintageous 作者: NeoVintageous 项目源码 文件源码
def find_a_bracket(self, caret_pt):
        """
        Locate the next bracket after the caret in the current line.

        If None is found, execution must be aborted.

        Return (bracket, brackets, bracket_pt).

        Example ('(', ('(', ')'), 1337)).
        """
        caret_row, caret_col = self.view.rowcol(caret_pt)
        line_text = self.view.substr(Region(caret_pt, self.view.line(caret_pt).b))
        try:
            found_brackets = min([(line_text.index(bracket), bracket)
                                 for bracket in chain(*self.pairs)
                                 if bracket in line_text])
        except ValueError:
            return None, None, None

        bracket_a, bracket_b = [(a, b) for (a, b) in self.pairs if found_brackets[1] in (a, b)][0]
        return (found_brackets[1], (bracket_a, bracket_b),
                self.view.text_point(caret_row, caret_col + found_brackets[0]))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号