Overview of changes:
* Enabled overriding definition of "hidden" in sfdoc
sfdoc can now help also in situations where rules of what should
be considered private (or boring) are different than the underscore
rule defined by Shellfu coding style.
* Switch to more optimistic branch naming convention
Call latest release branch 'latest', not 'last'.
Overview of changes:
* Added ability to reload modules
`shellfu reload` now reloads module that was once loaded. This
enables applications re-init modules if they have changed envvars
that affect them, for example the dumb plugin system in pretty.sh
can be reinitialized from outside if application wants to change
messaging mode.
* pretty.sh now won't enforce debuging and verbosity modes on import
Ie. it abandons the habit of setting PRETTY_VERBOSE and PRETTY_DEBUG
on import; instead properly deals with them missing. Turns out this
costs nothing and avoids a mild security risk by relying on value
comparison instead of running (supposedly!) `true`/`false` builtins.
Useful for modules like pretty.sh so that they can benefit from safety and
simplicity of having default but app can still reload it.
Note that in most cases using sfpi is cleaner and does not need
reloading, but pretty.sh is using dumb way of loading.
Overview of changes:
* Fix issue with sfpi__key() not ever returning anything
sfpi__key() would not return anything unless plugin was already
loaded. Now the plugin is loaded (in a subshell) before aking for
the key value.
Overview of changes:
* Added extra shorthand arguments for common usage errors
Things like missing positional arguments or unknown arguments need
to be dealt with so often it warrants these shorthands.
* Fortified command, file and pipe delimiters
Often it's helpful to see more clearly where output begins and where
it ends. Note that this is a small step from pretty.sh's total
minimalism, on the other hand these file and command printers are
not exactly minimalistic already; they are not intended for normal
use but rather for debugging.
Overview of changes:
* Fixed coerce__noctl() to actually do something
Turns out that the function could not ever work properly since
Perl's tr/// operator does not support POSIX character classes like
traditional tr(1) does. The expression was replaced with s///
variant, preserving the same character range.
Also it will now *replace* characters $COERCE__REPCHAR, instead of
removing them. (Removing behavior can be achieved by setting the
variable to empty string.)
Overview of changes:
* Enabled shellfu-sh-coerce to avoid Term::ANSIColor dependency on RHEL-6
Turns out this module is not easily available on RHEL-6, so by adding
the dependency in recent version, we broke shellfu-sh-coerce and its
reverse dependencies there.
debian/control does not allow creating dependency lists by repeating
Depends: field, like RPM .spec files do. I did not realize it when
adding coerce.sh
Overview of changes:
* Added module coerce.sh for character set coercion
* sfdoc will jump to first object mention in object mode (`-O`)
* Minor fixes and cleanups
Overview of changes:
* Improved an updated tab completion for sfdoc
The tab completion now offers more recent argument and most
importantly, module and/or object names.
* Fixed global variable '$modname' leaking from shellfu()
* Fixed --which treated as if no value was needed
* Mitigated risk of grep ambiguities
* Smaller cleanups and updates