Skip to content

magnickolas/inf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inf

inf logo

Instant feedback for your development loop.

inf monitors source files and executes the given compile / run commands as soon as those files change.


inf demo

Installation

cargo install inf

Or via the install script:

curl -fsSL https://raw.githubusercontent.com/magnickolas/inf/main/install.sh | sh

Or build from source:

git clone https://github.com/magnickolas/inf
cd inf
make install prefix=~/.local

Usage examples

Rebuild and run when main.c changes:

inf --run ./main gcc -o main main.c

Pipe input into the binary when either main.c or input.txt changes:

inf --input input.txt --run ./main gcc -o main main.c

For build systems, list every source file that should trigger a rebuild. Here the shell expands the globs and pipes them into inf (inf monitors all *.c and *.h files in src/):

echo src/*.c src/*.h | inf --run "make test" make -j4
  • Run a static type checker in zen mode (no meta-headers), whenever any Python file in src/ or its subdirectories changes:
inf -z mypy src/**/*.py