def project_file_updated(self, project_name, file_path):
		if self.projects not in project_name:
			return
		project_data = self.projects[project_name]["project_data"]
		# check for tracked file path
		tracked_folders = project_data.get(self.folder_key, [])
		for tracked_folder in tracked_folders:
			root_path = utils.normalize_path(tracked_folder["path"])
			if file_path.startswith(root_path):
				break
		else:
			return

		# if we got here this is a tracked project file
		self.update_project_file(project_name, file_path)


	## methods for child classes to implement
dataset/ETHPy150Open jcberquist/sublimetext-cfml/src/project_index.py/ProjectIndex.project_file_updated/swapped operands of `not in`