mix ex_ast.replace (ExAST v0.4.0)

Copy Markdown View Source

Replaces AST pattern matches in Elixir source files.

Usage

mix ex_ast.replace 'pattern' 'replacement' [path ...]

Options

  • --dry-run — show changes without writing files
  • --inside 'pattern' — only replace inside ancestors matching this pattern
  • --not-inside 'pattern' — skip replacements inside ancestors matching this pattern

Examples

mix ex_ast.replace 'IO.inspect(expr, _)' 'expr' lib/
mix ex_ast.replace 'dbg(expr)' 'expr'
mix ex_ast.replace --dry-run '%Step{id: "subject"}' 'SharedSteps.subject_step(@opts)'
mix ex_ast.replace --not-inside 'test _ do _ end' 'IO.inspect(expr)' 'expr'