def get_suggestion(self, front_path):
        """
        Returns suggestions for a path. Used in tab completion from the command
        line.
        """
        if '/' in front_path:
            # transverse the manifest, return the new manifest, then
            # get those suggestions with the remaining word
            splitted = front_path.split('/')
            new_manifest = self.manifest
            pre_path = ''
            for item in splitted:
                try:
                    new_manifest = new_manifest[item]
                except __HOLE__:
                    partial_word = item
                    break
                else:
                    pre_path += item + '/'

            if isinstance(new_manifest, Program):
                return []
            matches = new_manifest._get_suggestions(partial_word)
            return [pre_path + match for match in matches]
        else:
            return self._get_suggestions(front_path or None)
dataset/ETHPy150Open priestc/giotto/giotto/programs/__init__.py/Manifest.get_suggestion