shell dot on steroids https://pagure.io/shellfu
Alois Mahdal 008cacab80 Bump version 9 lat temu
bin Add argument to prepend dir to FFOO_PATH 9 lat temu
doc Update docs after CLI change 9 lat temu
include Explain variables in cfgrep 9 lat temu
mkit Add FIXME note about shallow clones 9 lat temu
notes Add style guide (draft) 9 lat temu
test Remove unnecessary pipe 9 lat temu
.gitignore Do not track test artifacts 9 lat temu
LICENSE Split-fork from qecc 9 lat temu
Makefile Split setup/mk.sh to create mkit 9 lat temu
README Add note on name conflict when using -v from __echo frontends 9 lat temu
config.mk Bump version 9 lat temu
ffoo.sh.skel Use the _expand internal backend 9 lat temu

README

Fast Foo Bash library
=====================

ffoo - Fast Foo - a Bash Library


NOTES
-----

* if when using `debug -v` you stumble on a variable name
that is *really* used internally by pretty.sh, routines
pick up the internal ones which may easily confuse you.
Examples are `src` or `caller`.

You can circumvent this by composing the debug string
yourself, e.g.:

debug "src='$src'"

in place of

debug -v src

This will be solved in the future (1.0.0?) probably by
refactoring the internal names to some long, ugly but
"safe" names. Now, however, readability of the internal
code is of higher priority.

Note that there is no risk damage to data integrity, it's
just that the routine is unable to show you desired value.


* if `debug -v "x*:` is used, `x*` apparently tries to match
*filenames* first, and only if there is no match, it goes
on to match variable names. This does not seem to affect
`@`, though.

Probably some eval pitfall. For now I'll just remove `*`.
If somebody can fix it, we can re-add it.

On the other hand, I don't even understand how `*` should
exactly behave compared to `@`, so having it disabled does
not seem like such a loss. And by the way, did you know
that the eval is evil? So in the end, maybe we should not
have this feature in the first place... :)