# ExAST v0.7.0 - Table of Contents

Search, replace, and diff Elixir code by AST pattern

## Pages

- [ExAST 🔬](readme.md)
- [LICENSE](license.md)

## Modules

- [ExAST](ExAST.md): Search, replace, and diff Elixir code by AST pattern.
- [ExAST.Diff](ExAST.Diff.md): Syntax-aware diffing for Elixir source code.
- [ExAST.Diff.Edit](ExAST.Diff.Edit.md): A single syntax-aware edit between two Elixir sources.

- [ExAST.Diff.Patcher](ExAST.Diff.Patcher.md): Applies diff edits to produce patched source code.
- [ExAST.Diff.Result](ExAST.Diff.Result.md): The result of comparing two Elixir sources.

- [ExAST.Patcher](ExAST.Patcher.md): Finds and replaces AST patterns in source code.
- [ExAST.Pattern](ExAST.Pattern.md): AST pattern matching with captures.
- [ExAST.Query](ExAST.Query.md): SQL-like query API for AST search.
- [ExAST.Selector](ExAST.Selector.md): CSS-like AST selector builder.
- [ExAST.Selector.Predicate](ExAST.Selector.Predicate.md): Predicate used by `ExAST.Selector.where/2`.
- [ExAST.Sigil](ExAST.Sigil.md): Provides the `~p` sigil for compile-time pattern parsing.

## Mix Tasks

- [mix ex_ast.diff](Mix.Tasks.ExAst.Diff.md): Computes a syntax-aware diff between two Elixir files.
- [mix ex_ast.replace](Mix.Tasks.ExAst.Replace.md): Replaces AST pattern matches in Elixir source files.
- [mix ex_ast.search](Mix.Tasks.ExAst.Search.md): Searches for AST patterns in Elixir source files.

