Commit Graph

104 Commits

Author SHA1 Message Date
5ae67ba391 Remove regex dependency, replace with manual parsing 2026-04-02 18:32:34 -07:00
a6b3de8883 Remove rayon dependency, use std::thread 2026-04-02 18:21:29 -07:00
faa4a4ce9e Migrate from Bun/TypeScript to Rust 2026-04-02 16:47:23 -07:00
0c9d4a27ce Add macro definition and substitution support 2026-04-02 15:48:30 -07:00
6180a8f7e9 Move tests, remove old .ts files 2026-04-02 15:40:40 -07:00
7ff92d1923 Merge branch 'rust-rewrite'
# Conflicts:
#	package.json
#	src/cli/index.ts
#	src/parse.test.ts
#	src/parse.ts
2026-04-02 15:30:50 -07:00
b71ffbf177 Add Cargo.lock file with dependencies 2026-04-02 15:20:11 -07:00
637327b356 omg rust 2026-04-02 15:18:22 -07:00
efa9d5a90b Refactor help command and add tests 2026-04-02 14:15:37 -07:00
9c516604f2 Improve help text and error handling 2026-04-02 14:05:45 -07:00
1c7c0da4b7 Add Rust implementation of the shout test runner
Rewrites the shout CLI in Rust for better performance, with parallel
test execution via rayon and the same .shout file format semantics.
2026-04-02 13:28:48 -07:00
8523132dbf 0.0.19 2026-03-19 13:50:44 -07:00
724f40c25d Allow @def body to start on the next continuation line
Previously, a backslash immediately after the macro name (with no
body on the first line) produced a leading newline. Now an empty
prefix is handled so the body begins cleanly on the continuation line.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 13:50:01 -07:00
9943641c02 Allow @def directives in setup files and fix macro precedence
User macros now correctly override setup macros instead of
last-write-wins. Also hardens @def continuation parsing to reject
trailing backslash at EOF, blank lines, and comment lines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 13:24:37 -07:00
7231c07a8b Apply macro expansion to teardown commands and fix @def continuation parsing
Teardown commands were missing the expandMacro call that setup and
parsed commands already received. Also relax the continuation-line
guard to catch bare `$` (not just `$ `) so lines like `$VAR` are
not silently consumed as continuation text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 11:59:08 -07:00
f508e30fcb Merge setup and user macros into a single map and harden @def parsing
User macros already overwrote setup macros, so two separate maps were
unnecessary. Also prevents @def continuations from silently swallowing
command or directive lines, and stops expanding macros in teardown.
2026-03-19 11:50:15 -07:00
ce1503a9d4 Add @def directive for command macro substitution
Macros let setup files define reusable command shorthands that
test files can invoke by name or override with their own definition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 11:28:59 -07:00
371627beeb 0.0.18 2026-03-15 20:58:00 -07:00
ebeedac78a Stream command results as dots in real time 2026-03-15 20:57:28 -07:00
f0c9dc8009 Add file label and dim timing to summary 2026-03-15 16:26:44 -07:00
24314c9c95 Add -t/--filter flag for file path filtering 2026-03-15 16:14:47 -07:00
fc2f2ecc41 docs: add stdin/heredoc design notes 2026-03-15 13:57:16 -07:00
e70a72f5b8 0.0.17 2026-03-14 22:36:25 -07:00
c70bf95426 fix diff colors for expected/actual labels 2026-03-14 22:32:37 -07:00
56cebd3437 Add Neovim plugin documentation 2026-03-14 13:17:45 -07:00
dad4c89981 Remove shoutEnvValue from contains list 2026-03-14 13:16:17 -07:00
ddd69e375f add shout.vim Neovim plugin 2026-03-14 13:11:08 -07:00
00b844cafc 0.0.16 2026-03-13 14:14:32 -07:00
36e300b317 Print dots during parallel execution 2026-03-13 14:14:20 -07:00
24981c6cc0 Merge branch 'code-cleanup'
# Conflicts:
#	src/parse.ts
#	src/run.ts
#	src/update.ts
2026-03-13 14:08:37 -07:00
945925fd99 docs: update CLAUDE.md and minor cleanup 2026-03-13 14:06:44 -07:00
327444a79a 0.0.15 2026-03-12 20:52:19 -07:00
3d9cbfba1b docs: add @teardown feature docs and checklist 2026-03-12 20:51:40 -07:00
e8bc4be382 Add @teardown directive support 2026-03-12 20:48:51 -07:00
191317ae22 0.0.14 2026-03-12 16:26:58 -07:00
813b32ab78 Strip ANSI color codes from command output 2026-03-12 16:26:53 -07:00
7df105d02a docs: add $# comment line syntax 2026-03-12 16:14:44 -07:00
1ddee9ea9e Add support for $# comment lines in parser 2026-03-12 16:12:38 -07:00
d3c9178958 0.0.13 2026-03-12 16:06:42 -07:00
481807255a Isolate per-command output from background procs 2026-03-12 16:06:33 -07:00
38b02ea21c 0.0.12 2026-03-12 15:27:54 -07:00
341a2fee42 test: add escaped dollar sign output cases 2026-03-12 15:27:08 -07:00
e829c67e88 Support escaped $ in expected output lines 2026-03-12 15:22:38 -07:00
d927d79758 0.0.11 2026-03-12 15:19:13 -07:00
870bc8e398 Stop reading stdout after last sentinel appears 2026-03-12 15:19:08 -07:00
6138d31f58 0.0.10 2026-03-12 15:14:49 -07:00
37dc1b1732 Merge branch 'debug-port-variable' 2026-03-12 15:14:43 -07:00
9d13dfa5e7 kill escaped procs inline, guard pid > 1 2026-03-12 15:14:21 -07:00
8c86c852e5 0.0.9 2026-03-12 14:48:15 -07:00
18887b9419 Add real-time verbose command streaming via stderr 2026-03-12 14:48:10 -07:00