'Schedule updating/enabling completion.
For performance reasons we don\'t want to block here, instead we do this
in the background.'

@pyqtSlot()
def schedule_completion_update(self):

    if ((self._cmd.cursorPosition() == self._last_cursor_pos) and (self._cmd.text() == self._last_text)):
        log.completion.debug('Ignoring    update    because    there    were    no    changes.')
    else:
        log.completion.debug('Scheduling    completion    update.')
        self._timer.start()
    self._last_cursor_pos = self._cmd.cursorPosition()
    self._last_text = self._cmd.text()
