autoBracket.py 文件源码

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

项目:PyIDE 作者: raggesilver 项目源码 文件源码
def complete(self, view, event):
        self.hasSelection = self.sbuff.props.has_selection

        if self.hasSelection:
            bounds = self.sbuff.get_selection_bounds()
            self.start, self.end = bounds
            self.selectionText = self.sbuff.get_text(self.start, self.end, False)

        ignore = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK

        if (event.type != Gdk.EventType.KEY_PRESS or event.state & ignore or Gdk.keyval_name(event.key.keyval) not in self.chars):
            self.hadSelection = self.hasSelection
            return

        insert = self.get_insert()
        closing = self.chars[Gdk.keyval_name(event.key.keyval)]

        if Gdk.keyval_name(event.key.keyval) == 'less' and not self.sbuff.get_language() is None and self.sbuff.get_language().get_name().lower() != 'html':
            return

        if not self.hadSelection and not self.hasSelection:
            self.sbuff.begin_user_action()
            self.sbuff.insert(insert, closing)
            self.sbuff.end_user_action()
            insert.backward_chars(1)
            self.sbuff.place_cursor(insert)

        else:
            self.sbuff.begin_user_action()
            self.selectionText += closing
            self.sbuff.insert(insert, self.selectionText)
            self.sbuff.end_user_action()
            insert.backward_chars(1)
            self.sbuff.place_cursor(insert)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号