'Returns true if any files for \'ft\' have changed and must be
reloaded.'

def _needs_update(self, ft):

    existing_files = self._get_all_snippet_files_for(ft)
    if (existing_files != self._files_for_ft[ft]):
        self._files_for_ft[ft] = existing_files
        return True
    for filename in self._files_for_ft[ft]:
        if (_hash_file(filename) != self._file_hashes[filename]):
            return True
    return False
