code: def init_completer(self):
          
          # PyDev uses its own completer and custom hooks so that it uses
          # most completions from PyDev's core completer which provides
          # extra information.
          # See getCompletions for where the two sets of results are merged
  
          if IPythonRelease._version_major >= 6:
              self.Completer = self._new_completer_600()
          elif IPythonRelease._version_major >= 5:
              self.Completer = self._new_completer_500()
          elif IPythonRelease._version_major >= 2:
              self.Completer = self._new_completer_234()
          elif IPythonRelease._version_major >= 1:
              self.Completer = self._new_completer_100()
  
          if hasattr(self.Completer, 'use_jedi'):
              self.Completer.use_jedi = False
  
          self.add_completer_hooks()
  
          if IPythonRelease._version_major <= 3:
              # Only configure readline if we truly are using readline.  IPython can
              # do tab-completion over the network, in GUIs, etc, where readline
              # itself may be absent
              if self.has_readline:
                  self.set_readline_completer()
docs: Initialize the completion machinery.
  
          This creates a completer that provides the completions that are
          IPython specific. We use this to supplement PyDev's core code
          completions.