def onAutoIndentTriggered(self):
        """Indent current line or selected lines
        """
        cursor = self._qpart.textCursor()

        startBlock = self._qpart.document().findBlock(cursor.selectionStart())
        endBlock = self._qpart.document().findBlock(cursor.selectionEnd())

        if startBlock != endBlock:  # indent multiply lines
            stopBlock = endBlock.next()

            block = startBlock

            with self._qpart:
                while block != stopBlock:
                    self.autoIndentBlock(block, '')
                    block = block.next()
        else:  # indent 1 line
            self.autoIndentBlock(startBlock, '')
def _remainingpats(pat, prefix):
    """list of patterns with prefix stripped

    >>> _remainingpats("a/b/c", "")
    ['a/b/c']
    >>> _remainingpats("a/b/c", "a")
    ['b/c']
    >>> _remainingpats("a/b/c", "a/b")
    ['c']
    >>> _remainingpats("a/b/c", "a/b/c")
    []
    >>> _remainingpats("", "")
    []
    """
    if prefix:
        if prefix == pat:
            return []
        else:
            assert pat[len(prefix)] == "/"
            return [pat[len(prefix) + 1 :]]
    else:
        if pat:
            return [pat]
        else:
            return []