'Override key press to select the current scope if the user wants
to deleted a folded scope (without selecting it).'

def _on_key_pressed(self, event):

    delete_request = (event.key() in [Qt.Key_Backspace, Qt.Key_Delete])
    if (event.text() or delete_request):
        cursor = self.editor.textCursor()
        if cursor.hasSelection():
            positions_to_check = (cursor.selectionStart(), cursor.selectionEnd())
        else:
            positions_to_check = (cursor.position(),)
        for pos in positions_to_check:
            block = self.editor.document().findBlock(pos)
            th = TextBlockHelper()
            if (th.is_fold_trigger(block) and th.is_collapsed(block)):
                self.toggle_fold_trigger(block)
                if (delete_request and cursor.hasSelection()):
                    scope = FoldScope(self.find_parent_scope(block))
                    tc = TextHelper(self.editor).select_lines(*scope.get_range())
                    if (tc.selectionStart() > cursor.selectionStart()):
                        start = cursor.selectionStart()
                    else:
                        start = tc.selectionStart()
                    if (tc.selectionEnd() < cursor.selectionEnd()):
                        end = cursor.selectionEnd()
                    else:
                        end = tc.selectionEnd()
                    tc.setPosition(start)
                    tc.setPosition(end, tc.KeepAnchor)
                    self.editor.setTextCursor(tc)
