# `mix igniter.refactor.rename_function`
[🔗](https://github.com/ash-project/igniter/blob/v0.8.2/lib/mix/tasks/igniter.refactor.rename_function.ex#L5)

Rename functions across a project with automatic reference updates.

Rename a given function across a whole project.
This will remap definitions in addition to calls and references.

Keep in mind that it cannot detect 100% of cases, and will always
miss usage of `apply/3` for dynamic function calling.

If the new module is different than the old module, the function will be moved.
If the new module does not exist, it will be created.

Pass an arity to the first function to only rename a specific arity definition.

## Options

- `--deprecate` - `soft | hard` The old function will remain in place but deprecated. Soft deprecations,
  only affect documentation, while hard deprecations will display a warning when the function is called.

## Example

```bash
mix igniter.refactor.rename_function Mod.fun NewMod.new_fun
```

# `igniter`

# `parse_fun`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
