Skip to content

Commit d3321f6

Browse files
committed
readme
1 parent 5dbabe1 commit d3321f6

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# hdev
2+
3+
A convenient Haskell development tool that wraps `ghcid` so you don't have to remember the exact commands. It automatically finds executables from hpack's `package.yaml`.
4+
5+
## What problem does this solve?
6+
7+
I got really annoyed trying to remember exact commands specific to cabal or ghcid. This is mostly a convenience wrapper.
8+
9+
## Benefits
10+
11+
- **No more remembering ghcid commands** - just run `hdev --run` and it handles the rest
12+
- **Automatically finds executables from `package.yaml`** - no need to specify paths
13+
- **Automatically creates a ghcid output file** at `/tmp/<project>.ghcid`
14+
15+
## Usage
16+
17+
```bash
18+
# List executables from package.yaml
19+
hdev --list
20+
21+
# Run with ghcid (default)
22+
hdev --run
23+
24+
# Run specific executable
25+
hdev --run my-executable
26+
27+
# Lint mode
28+
hdev --lint
29+
30+
# Execute with cabal run
31+
hdev --exec-with-cmd my-executable -- --arg1 --arg2
32+
```
33+
34+
## Example
35+
```
36+
nix-shell --run "hdev --lint"
37+
Select an executable:
38+
1) example
39+
2) hdev
40+
2
41+
Raw command: ghcid --command "cabal v2-repl exe:hdev" -o /tmp2/hdev.ghcid
42+
...
43+
```
44+
45+
## Requirements
46+
47+
- GHC, cabal, ghcid, hpack
48+
49+
**Note:** Currently developed for executables only (libraries untested).

0 commit comments

Comments
 (0)