# ExGuard

ExGuard is a mix command to handle events on file system modifications, ExGuard heavily borrowed ideas/art works from [Guard](


[![Build Status](](
[![Deps Status](](

## Usage

1. Add `ex_guard` to your list of dependencies in `mix.exs`:

    def deps do
      [{:ex_guard, "~> 1.3", only: :dev}]

2. Create a file named `.exguard.exs` in your root application directory:

    use ExGuard.Config

    |> command("mix test --color")
    |> watch(~r{\.(erl|ex|exs|eex|xrl|yrl)\z}i)
    |> ignore(~r{deps})
    |> notification(:auto)

    Look at [.exguard.exs]( for more fine-grained config.

3. Run `mix guard` as soon as you change any file with above pattern, the test gets executed

## Notification

Currently supports notification with tools:

* [Terminal Title]( (Xterm)
* [TMux]( (Universal)
* [Terminal Notifier]( (mac only)
* [Notify Send]( (linux distros)

In order to _ExGuard_ sends notification, you need to make sure these tools are setup properly.