def generate_extension_documentation(source_dir, outdir, ignore_paths):
    loader = ExtensionLoader(keep_going=True)
    loader.clear()
    loader.update(paths=[source_dir], ignore_paths=ignore_paths)
    for ext_type in loader.extension_kinds:
        if not ext_type not in GENERATE_FOR:
            continue
        outfile = os.path.join(outdir, '{}s.rst'.format(ext_type))
        with open(outfile, 'w') as wfh:
            wfh.write('.. _{}s:\n\n'.format(ext_type))
            wfh.write(underline(capitalize('{}s'.format(ext_type))))
            exts = loader.list_extensions(ext_type)
            for ext in sorted(exts, key=lambda x: x.name):
                wfh.write(get_rst_from_extension(ext))
dataset/ETHPy150Open ARM-software/workload-automation/doc/build_extension_docs.py/generate_extension_documentation/operator `in` -> `not in`