ExactoKnife

Github Actions Module Version Hex Docs Total Download License Last Updated

Refactoring tools for elixir!

Refactorings

Refactoring: Sort aliases

> mix refactor sort_aliases [FILE]

Sort all aliases in a file:

alias Alpha
alias Alpha.Bravo
alias Alpha.Charlie
alias Delta

Refactoring: Expand aliases

> mix refactor expand_aliases [FILE]

Expand out all aliases in a file:

alias Foo.Bar.Baz
alias Foo.Bar.Boom

Refactoring: Consolidate aliases

> mix refactor consolidate_aliases [FILE]

Sort and combine all aliases in a file:

alias Foo.Bar.{Baz, Boom}

Refactoring: Rename Variable

> mix refactor rename [FILE] [LINE] [COLUMN]

Renames a variable (currently this is a very, very naive implementation)

More to come...


Running against a codebase

Find is your friend

> find lib -type f -name "*.ex*" | xargs -n1 mix refactor sort_aliases

Installation

Exacto Knife can be installed by adding exacto_knife to your list of dependencies in mix.exs:

def deps do
[
{:exacto_knife, "~> 0.1.4"}
]
end

Docs can be found at https://hexdocs.pm/exacto_knife.


Contributing

Releasing