def METHOD_NAME(args):
    if args.all:
        selected_shells = COMPATIBLE_SHELLS
    else:
        selected_shells = tuple(args.shells)
    if not selected_shells:
        if on_win:
            selected_shells = ("cmd.exe", "powershell")
        if on_mac:
            selected_shells = ("bash", "zsh")
        else:
            selected_shells = ("bash",)
    if args.dev:
        assert (
            len(selected_shells) == 1
        ), "--dev can only handle one shell at a time right now"
        shell = selected_shells[0]
        return initialize_dev(shell)
    else:
        if hasattr(args, "no_user"):
            # this seems to be conda < 23.1.0
            # Here, we use the old behavior even though the --no-user flag
            # doesn't behave as desired, see:
            # https://github.com/conda/conda/issues/11948
            for_user = args.user
            if not (args.install and args.user and args.system):
                for_user = True
            if args.no_user:
                for_user = False
        else:
            for_user = args.user and not args.system
        anaconda_prompt = on_win and args.anaconda_prompt
        exit_code = initialize(
            context.conda_prefix,
            selected_shells,
            for_user,
            args.system,
            anaconda_prompt,
            args.reverse,
        )
    changed = False
    if not exit_code and not args.reverse:
        plan = make_initialize_plan(
            context.conda_prefix,
            selected_shells,
            for_user,
            args.system,
            anaconda_prompt,
            args.reverse,
        )
        for el in plan:
            if el.get("function") in (
                "init_sh_user",
                "init_sh_system",
                "init_fish_user",
            ):
                args = el.get("kwargs")
                target_path = args["target_path"]
                conda_prefix = args["conda_prefix"]
                add_mamba_to_rcfile(target_path, conda_prefix)
                changed = True
    if changed:
        print(
            "\n==> For changes to take effect, close "
            "and re-open your current shell. <==\n"
        )
    return exit_code