docs: def get_data_matches(text, delim_pos, dxproj, folderpath, classname=None,
                       typespec=None, visibility=None):
      '''
      :param text: String to be tab-completed; still in escaped form
      :type text: string
      :param delim_pos: index of last unescaped "/" or ":" in text
      :type delim_pos: int
      :param dxproj: DXProject handler to use
      :type dxproj: DXProject
      :param folderpath: Unescaped path in which to search for data object matches
      :type folderpath: string
      :param classname: Data object class by which to restrict the search (None for no restriction on class)
      :type classname: string
      :param visibility: Visibility to constrain the results to; default is "visible" for empty strings, "either" for nonempty
      :type visibility: string
      :returns: List of matches
      :rtype: list of strings
  
      Members of the returned list are guaranteed to start with *text*
      and be in escaped form for consumption by the command-line.
      '''
      #unescaped_text = unescape_completion_name_str(text[delim_pos + 1:])
      unescaped_text = text[delim_pos + 1:]
  
      if visibility is None:
          if text != '' and delim_pos != len(text) - 1:
              visibility = "either"
          else:
              visibility = "visible"
  
      try:
          results = list(dxpy.find_data_objects(project=dxproj.get_id(),
                                                folder=folderpath,
                                                name=unescaped_text + "*",
                                                name_mode="glob",
                                                recurse=False,
                                                visibility=visibility,
                                                classname=classname,
                                                limit=100,
                                                describe=dict(fields=dict(name=True)),
                                                typename=typespec))
          prefix = '' if text == '' else text[:delim_pos + 1]
          return [prefix + escape_name(result['describe']['name']) for result in results]
      except:
          return []