mirror of
https://git.lain.church/bake/bake.git
synced 2025-05-18 09:36:42 +00:00
Document
This commit is contained in:
parent
51e1803bc3
commit
9ffca5b6cb
44
README
44
README
@ -10,17 +10,19 @@ install by running ./install.sh
|
||||
|
||||
bake [-chln] [-s <n>] <FILENAME> [ARGS...]; version 20240930
|
||||
|
||||
Bake is a simple tool meant to execute embedded shell commands within
|
||||
any file. It executes with /bin/sh the command after a "@BAKE " to
|
||||
the end of the line (a UNIX newline: '\n') or to the first instance of
|
||||
@STOP.
|
||||
Bake is a simple tool meant to execute embedded shell commands within
|
||||
any file. It executes with /bin/sh the command after a "@BAKE " to
|
||||
the end of the line (a UNIX newline: '\n') or to the first instance
|
||||
of @STOP. All @BAKE ... @STOP statements must become before any @BAKE
|
||||
... EOLs.
|
||||
|
||||
It expands some macros,
|
||||
@FILENAME @FILE @NAME - filename
|
||||
@SHORT - filename without suffix (abc.x.txt \-> abc.x)
|
||||
@SHORT:N - removes N suffixes, so (a.b.c 2 -> a)
|
||||
@ARGS - other arguments to the program
|
||||
@ARGS:N - Provides the Nth argument, starting from 0
|
||||
@ARGS:N - Provides the Nth argument, starting from
|
||||
0
|
||||
@ARGS:N+ - All arguments at and after Nth
|
||||
@RECURS - the full path name to the executable
|
||||
@LINE - line number at the selected @BAKE
|
||||
@ -44,17 +46,14 @@ Licensed under the public domain.
|
||||
|
||||
Shake
|
||||
|
||||
Bake was inspired by the Bash-based Shake utility (formerly eMake, he
|
||||
liked my suggestion for a name). It is included under authorization
|
||||
of its creator. The original version of Shake may be found at:
|
||||
Bake was inspired by the Bash-based Shake utility (formerly eMake,
|
||||
he liked my suggestion for a name). It is included under authorization
|
||||
of its creator. The original version of Shake may be found at:
|
||||
<http://bis64wqhh3louusbd45iyj76kmn4rzw5ysawyan5bkxwyzihj67c5lid.onion/anon/shake>
|
||||
|
||||
Bake includes a modified Shake, both after installation and as a
|
||||
bootstrapper. The modified version includes all features of Bake with
|
||||
the exceptions of multi-line commands. It is not a general
|
||||
replacement for Bake.
|
||||
|
||||
Shake doesn't support multi-line commands.
|
||||
Bake includes a modified Shake, optionally installation and as the
|
||||
old bootstrapper. The modified version includes all features of Bake
|
||||
with the exceptions of multi-line commands and usable expunge.
|
||||
|
||||
Changelog
|
||||
|
||||
@ -62,16 +61,17 @@ Bake was created on 2023/09/13, and complete as of 2024/03/02.
|
||||
|
||||
2024-09-27
|
||||
|
||||
Lex. As adviced by the original creator, I learned and implemented a
|
||||
Bake with lex. It's fully featured, and has new stuff.
|
||||
Lex. As adviced by the original creator, I learned and implemented
|
||||
a Bake with lex. It's fully featured, and has new stuff.
|
||||
|
||||
2024-10-24 - Awake
|
||||
2024-10-24
|
||||
- Awake
|
||||
|
||||
Egor (some dead guy) made a AWK implementation of Bake, it's POSIX.
|
||||
Egor (some dead guy) made an AWK implementation of Bake, it's POSIX.
|
||||
It doesn't support multi-line, expunge, parses options after filename,
|
||||
or changing directory to file's directory - it's compatible with Bake
|
||||
otherwise.
|
||||
otherwise. It's the new bootstrapper as AWK should be more portable
|
||||
to the BSDs.
|
||||
|
||||
cd /dir/of/file; awake file
|
||||
|
||||
See ./awake --help
|
||||
cd /dir/of/file; awake file
|
||||
See --help
|
||||
|
24
bake.1
24
bake.1
@ -8,9 +8,10 @@
|
||||
.SH DESCRIPTION
|
||||
|
||||
bake is a simple tool meant to execute embedded shell commands within
|
||||
any file. It executes with /bin/sh the command after a "\fB@BAKE\fP "
|
||||
to the end of the line (a UNIX newline: '\fB\\n\fP') or to the first
|
||||
instance of @STOP.
|
||||
any file. It executes with /bin/sh the command after a "\fB@BAKE\fP
|
||||
" to the end of the line (a UNIX newline: '\fB\\n\fP') or to the first
|
||||
instance of @STOP. All @BAKE ... @STOP statements must become before
|
||||
any @BAKE ... EOLs.
|
||||
|
||||
This format may be embedded within \fBany file\fP.
|
||||
|
||||
@ -57,11 +58,22 @@ Additional Features And Notes
|
||||
|
||||
Shell execution may be disabled with the \fB-n\fP or \fB--dry-run\fP option.
|
||||
|
||||
Expunge removes exactly one file specified in the @{TEXT} format, and
|
||||
is not recursive. Expunge simply outputs rm 'TEXT...', where text
|
||||
expands any instance of ' to \\'.
|
||||
Expunge removes exactly one file specified in the @{FILENAME} format,
|
||||
and the action is nonrecursive. Expunge simply outputs rm 'FILENAME...',
|
||||
where the FILENAME expands any instance of ' to \\'.
|
||||
|
||||
.PP
|
||||
Other Implementations (NONDEFAULT)
|
||||
|
||||
Shake - Bash based, The modified version includes all features with
|
||||
the exceptions of multi-line (as in to @STOP), select, and usable expunge.
|
||||
|
||||
Awake - AWK based, does not support multi-line (as in to @STOP), expunge,
|
||||
parses options after filename, color, or changing directory to file's
|
||||
directory - it's compatible with Bake otherwise.
|
||||
|
||||
.SH EXAMPLE
|
||||
|
||||
.\" SRC BEGIN (example.c)
|
||||
.EX
|
||||
// example.c @BAKE cc -o @SHORT @NAME @ARGS
|
||||
|
Loading…
x
Reference in New Issue
Block a user