Repository navigation
Expand file tree
/
Copy pathjustfile
More file actions
79 lines (61 loc) · 3.14 KB
/
Copy pathjustfile
File metadata and controls
79 lines (61 loc) · 3.14 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# HolyComp developer commands
# Install: cargo install just | https://github.com/casey/just
# ── Default ──────────────────────────────────────────────────────────────────
default:
@just --list
# ── Build ─────────────────────────────────────────────────────────────────────
build:
cargo build --workspace
release:
cargo build --workspace --release
# ── Test ──────────────────────────────────────────────────────────────────────
test:
cargo test --workspace
test-verbose:
cargo test --workspace -- --nocapture
# Run a single test by name (fuzzy)
test-one NAME:
cargo test --workspace {{NAME}} -- --nocapture
# ── Lint ─────────────────────────────────────────────────────────────────────
fmt:
cargo fmt --all
fmt-check:
cargo fmt --all -- --check
clippy:
cargo clippy --workspace --all-targets -- -D warnings
# ── Run ──────────────────────────────────────────────────────────────────────
# Start the interactive REPL
repl:
cargo run -p holyc_interpreter --bin holyc -- repl
# Execute a HolyC source file
run FILE:
cargo run -p holyc_interpreter --bin holyc -- {{FILE}}
# Run all .HC compatibility tests through the interpreter
compat:
@echo "=== Running compatibility tests ==="
@for f in tests/compat/*.HC; do \
printf " %-30s" "$f"; \
if cargo run -q -p holyc_interpreter --bin holyc -- "$f" > /dev/null 2>&1; then \
echo "PASS"; \
else \
echo "FAIL"; \
fi; \
done
# Parse a file (compiler front-end only, no execution)
check FILE:
cargo run -p holyc_compiler --bin holyc-compile -- {{FILE}}
# ── CI (run everything locally) ───────────────────────────────────────────────
ci: fmt-check clippy test compat
@echo "✓ All CI checks passed"
# ── Utilities ─────────────────────────────────────────────────────────────────
clean:
cargo clean
# Show all top-level doc comments for a crate
doc CRATE="holyc_frontend":
cargo doc -p {{CRATE}} --no-deps --open
# Count source lines (requires tokei or scc)
loc:
@command -v tokei >/dev/null 2>&1 && tokei src || find . -name '*.rs' | xargs wc -l | tail -1
# List all TODO / FIXME comments in source
todos:
@grep -rn "TODO\|FIXME\|HACK\|XXX" --include="*.rs" . || echo "(none)"