async def METHOD_NAME() -> Optional[_Info]:
    try:
        win = await Window.get_current()
        height = await win.get_height()
        buf = await win.get_buf()
        bufs = await Buffer.list(listed=True)
        buffers = {buf: await buf.line_count() for buf in bufs}
        if (current_lines := buffers.get(buf)) is None:
            return None
        else:
            row, _ = await win.get_cursor()
            lo = max(0, row - height)
            hi = min(current_lines, row + height + 1)
            lines = await buf.get_lines(lo=lo, hi=hi)
            filetype = await buf.filetype()
            filename = (await buf.get_name()) or ""
            info = _Info(
                buf_id=buf.number,
                filetype=filetype,
                filename=filename,
                range=(lo, hi),
                lines=lines,
                buffers=buffers,
            )
            return info
    except NvimError:
        return None