ExactoKnife

Github ActionsModule VersionHex DocsTotal DownloadLicenseLast 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 fairly naive implementation - issues welcome!)

More to come…


Running against an entire 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.5"}
  ]
end

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


Contributing

Releasing

Links