docs: def eventFilter(self, obj, event):
          """
          Filters particular events for a given QObject through this class. \
          Will use this to intercept events to the completer tree widget while \
          filtering.
          
          :param      obj     | <QObject>
                      event   | <QEvent>
          
          :return     <bool> consumed
          """
          if not obj == self._completerTree:
              return False
          
          if event.type() != event.KeyPress:
              return False
              
          if event.key() == Qt.Key_Escape:
              QToolTip.hideText()
              self.cancelCompletion()
              return False
          
          elif event.key() in (Qt.Key_Enter, Qt.Key_Return, Qt.Key_Tab):
              self.acceptCompletion()
              return False
          
          elif event.key() in (Qt.Key_Up, Qt.Key_Down, Qt.Key_PageUp, Qt.Key_PageDown):
              return False
          
          else:
              self.keyPressEvent(event)
              
              # update the completer
              cursor   = self.textCursor()
              text     = projex.text.nativestring(cursor.block().text())
              text     = text[:cursor.columnNumber()].split(' ')[-1]
              text     = text.split('.')[-1]
              
              self._completerTree.blockSignals(True)
              self._completerTree.setUpdatesEnabled(False)
              
              self._completerTree.setCurrentItem(None)
              
              for i in range(self._completerTree.topLevelItemCount()):
                  item = self._completerTree.topLevelItem(i)
                  if projex.text.nativestring(item.text(0)).startswith(text):
                      self._completerTree.setCurrentItem(item)
                      break
              
              self._completerTree.blockSignals(False)
              self._completerTree.setUpdatesEnabled(True)
              
              return True