def get_function_info(view, position):
	if view.match_selector(position, "meta.function-call.cfml"):
		function_name, function_name_region, function_args_region = utils.get_function_call(view, position)
		extended_meta = metadata.get_view_metadata(view)
		if function_name in extended_meta["functions"]:
			header = extended_meta["functions"][function_name].name + "()"
			return extended_meta, function_name, header

	if view.match_selector(position, "meta.function-call.method.cfml"):
		function_name, function_name_region, function_args_region = utils.get_function_call(view, position)
		if view.substr(function_name_region.begin() - 1) == ".":
			dot_context = utils.get_dot_context(view, function_name_region.begin() - 1)

			if dot_context[0].name == "this":
				extended_meta = metadata.get_view_metadata(view)
				if function_name in extended_meta["functions"]:
					header = extended_meta["functions"][function_name].name + "()"
					return extended_meta, function_name, header

			if dot_context[0].name == "super":
				project_name = utils.get_project_name(view)
				file_path = utils.normalize_path(view.file_name()) if view.file_name() else ""
				extends = get_extends(view)
				extends_file_path = model_index.resolve_path(project_name, file_path, extends)
				extended_meta = model_index.get_extended_metadata_by_file_path(project_name, extends_file_path)
				if extended_meta and function_name in extended_meta["functions"]:
					header = extended_meta["functions"][function_name].name + "()"
					return extended_meta, function_name, header

	return None, None, None
dataset/ETHPy150Open jcberquist/sublimetext-cfml/src/in_file_completions/documentation.py/get_function_info/original