def register_list_command(subparsers):
    parser = subparsers.add_parser("list", help="List test cases from CSV file")
    parser.add_argument("-i", "--input", required=True, help="CSV test case file")
    parser.add_argument("--op", "--operator", dest="operator", help="Filter by operator name")
    parser.set_defaults(handler=_handle_list)


def _handle_list(args):
    from ttk.core_modules.testcase_manager import UniversalTestcaseFactory
    with open(args.input) as f:
        factory = UniversalTestcaseFactory(f, skip_validate=True)
    cases = factory.testcases
    if args.operator:
        op_filter = args.operator.split(",")
        cases = [c for c in cases if getattr(c, 'op_name', getattr(c, 'api_name', None)) in op_filter]
    for case in cases:
        print(case.testcase_name)
    print(f"\nTotal: {len(cases)} case(s)")