class_docstr: Complete for Path variables.
  
  :param get_paths: Callable which returns a list of directories to look into
                    when the user enters a relative path.
  :param file_filter: Callable which takes a filename and returns whether
                      this file should show up in the completion. ``None``
                      when no filtering has to be done.
  :param min_input_len: Don't do autocompletion when the input string is shorter.
code: def get_completions(self, document, complete_event):
      text = document.text_before_cursor
  
      # Complete only when we have at least the minimal input length,
      # otherwise, we can too many results and autocompletion will become too
      # heavy.
      if len(text) < self.min_input_len:
          return
  
      try:
          # Do tilde expansion.
          if self.expanduser:
              text = os.path.expanduser(text)
  
          # Directories where to look.
          dirname = os.path.dirname(text)
          if dirname:
              directories = [
                  os.path.dirname(os.path.join(p, text))
                  for p in self.get_paths()
              ]
          else:
              directories = self.get_paths()
  
          # Start of current file.
          prefix = os.path.basename(text)
  
          # Get all filenames.
          filenames = []
          for directory in directories:
              # Look for matches in this directory.
              if os.path.isdir(directory):
                  for filename in os.listdir(directory):
                      if filename.startswith(prefix):
                          filenames.append((directory, filename))
  
          # Sort
          filenames = sorted(filenames, key=lambda k: k[1])
  
          # Yield them.
          for directory, filename in filenames:
              completion = filename[len(prefix) :]
              full_name = os.path.join(directory, filename)
  
              if os.path.isdir(full_name):
                  # For directories, add a slash to the filename.
                  # (We don't add them to the `completion`. Users can type it
                  # to trigger the autocompletion themself.)
                  filename += "/"
              elif self.only_directories:
                  continue
  
              if not self.file_filter(full_name):
                  continue
  
              yield Completion(completion, 0, display=filename)
      except OSError:
          pass
  
file_path: catboost/contrib/python/prompt-toolkit/py2/prompt_toolkit/contrib/completers/filesystem.py
imports: from __future__ import unicode_literals
  from prompt_toolkit.completion import Completer, Completion
  import os
label_desc: Use image node_id 2 for calling the PathCompleter obj's underlying member method code with example usage: obj.get_completions(document, complete_event) without return types