all repos — erl @ c8ab7c849959313a035bf9e448d110e794190a4f

Execute Reload Loop

README.md (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# E(a)rl

E(a)rl helps with your development by restarting your command when files change.

A file watcher based on things I liked about [nodemon](https://github.com/remy/nodemon) and [watchexec](https://github.com/watchexec/watchexec):

- When command exits, wait for changes instead of re-starting ad infinitum

The name is an acronym for "Execute Reload Loop", inspired by "Read Eval Print Loop". "Earl" is nicer to say than "erl", but "erl" is nicer to type on a QWERTY keyboard.

## Installation

### Using Nix

If you have Nix with flakes enabled:

```bash
nix run git+https:git.alin.ovh/erl -- -exec your-command arg1 arg2
```

Or install it:

```bash
nix profile install git+https:git.alin.ovh/erl
```

## Usage

Basic usage:

```bash
erl -exec go run main.go
```

### Command Line Options

- `-exec string` - Command to execute on file change (required)

### Examples

**Go development:**
```bash
erl -exec go run .
```

**Build and test:**
```bash
erl -exec make test
```

## Development

```bash
nix develop

just run

just test

just build
```

## License

This project is available under the MIT License.