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
Turns out moving sfdoc code to dedicated module *and* having the binary
in main package created cyclic dependecy. However, there's easy way out;
let's just run with it as long as it works on most distros.
source-highlight is not necessary (-s|--src will fall back to plain text
if it's missing) and requiring it strictly breaks RHEL6 build.
deb users can follow Suggests field; rpm users will have to find out about
it and install it separately. (Optional requires do exist in newer RPM,
but it's not worth the effort/ifdef bloat.)
Switch to packaging model where each module goes into separate package.
Such model makes much more sense (after all it's also how big platforms
such as python do it). It allows better control over dependencies and
allows re-locating modules properly according to compatibility level
(i.e. now exit.sh can go to 'sh' despite the fact that in 'core' it had
to be with other Bash-compatible modules).
Turns out that since shellfu-doc uses pretty.sh (and makes good use of
it), what we had was broken cyclic dependency.
shellfu-doc and shellfu-embed are useful mostly for developers, though,
so it's no shame to split them.