code: def __checkTextMatches(self, folders, items, buffer, windowInfo, immediate=False):
          
          itemMatches = []
          folderMatches = []
  
          for item in items:
              if item.check_input(buffer, windowInfo):
                  if not item.prompt and immediate:
                      return item, None
                  else:
                      itemMatches.append(item)
  
          for folder in folders:
              if folder.check_input(buffer, windowInfo):
                  folderMatches.append(folder)
                  break # There should never be more than one folder match anyway
  
          if self.__menuRequired(folderMatches, itemMatches, buffer):
              self.lastStackState = buffer
              #return (None, PopupMenu(self, folderMatches, itemMatches))
              return None, (folderMatches, itemMatches)
          elif len(itemMatches) == 1:
              self.lastStackState = buffer
              return itemMatches[0], None
          else:
              return None, None
docs: Check for an abbreviation/predictive match among the given folder and items
          (scripts, phrases).
  
          @return: a tuple possibly containing an item to execute, or a menu to show