From 511f30b96d06041f528ec005e4d3edffc4047608 Mon Sep 17 00:00:00 2001 From: czjstmax Date: Thu, 14 May 2026 16:08:04 +0200 Subject: update 1.2.5 Signed-off-by: czjstmax --- README.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 958a059..db999fa 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,58 @@ # runfile (`rfile`) -a **suckless**, **minimal**, **zero-dependancy**, **POSIX C99** alternative to `Makefile`/`justfile`s to *just run commands*. + +a **suckless** and **minimal**, **POSIX C99** alternative to `Makefile`/`justfile`! + +--- + +## `rfile` syntax & features + +- `#` -> ignore line (comment) + + +### variables + +the variable system in `rfile`s is very minimal: + +- every variable is a _string_ +- when accessed, `rf` text-substitutes the variable with its content + +example: +``` +@cc=gcc +@inp=rf.c +@out=rf +@opts=-Wall -Wextra -pedantic -std=c99 + +@cc @inp -o @out @opts +# becomes 'gcc rf.c -o rf -Wall -Wextra -pedantic -std=c99' +``` + + +### rfile command prefix (`@`) + +- `@: [msg]` -> print/log +- `@var=cmd` -> create variable `var` +- `@var` -> access variable `var` + + +### command sections + +example syntax: + +``` +section { + @: hello! +} +``` + +every other line is treated as a command and will run normally. + +> if no section is specified when calling `rf`, only commands in global scope will run. + +--- ## usage -1. create an `rfile` with commands divided by a `\n` -2. run `rf` in that directory. + +1. create an `rfile`. +2. run `rf [section name]` :) -- cgit v1.3.1