shell dot on steroids https://pagure.io/shellfu
Alois Mahdal 1465aff5ab Add line number assert function 11 年前
bin Add argument to print init body 11 年前
doc Fix template mode 11 年前
include Add line number assert function 11 年前
notes Improve and clarify guidelines 11 年前
setup Drop d; this is not a daemon 11 年前
test Restructure library layout 11 年前
.gitignore Split-fork from qecc 11 年前
LICENSE Split-fork from qecc 11 年前
Makefile Drop d; this is not a daemon 11 年前
README Drop d; this is not a daemon 11 年前
config.mk Split-fork from qecc 11 年前
ffoo.sh.in Drop d; this is not a daemon 11 年前

README

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

ffoo - Fast Foo - a Bash Library


NOTES
-----

* 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... :)

* debug_pipe and all `while read`-based commands will throw
away last line if there is no newline at the end.

This is "fixed" by adding at least one all-matching `grep`
command before the while loop.

* iniread: when same key is found in eg. /etc/ffoo/ffoo.ini
and ~/.ffoo.ffoo.ini, output is concatenated. If you
want the value be rather overriden, you can simply add
`-1` to limit output to the last one.

Problem is this the workaround obviously won't work for
multi-line values since they are represented as multiple
keys.

It's not yet decided what should be the behavior.