v2.1 Release
by sammyetteOh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes.
Documentation
There have been a few documentation enhancements for this release. This includes:
- Adding the return types for all functions that need them
- Documenting Hilbish types like job objects and timers properly. They now have a separate heading and listing of properties and methods.
- Fixing outdated documentation
Features
Sinks
A major addition is the new “sink” type for commanders to write
their output to. This was the solution to pipes and other shell
operators not working with builtins. If you wrote a commander
and made it print
, use sinks.out:write
instead.
This is also documented at the commander docs .
doc
command
Since API documentation has been moved to an API folder and also includes
interfaces, a change has been made to get the module name from the
passed from the requested page. This means that
doc api hilbish hilbish.jobs
is now shortened to doc api hilbish.jobs
Bug Fixes
Small release, small amount of bug fixes. Even though, this is the main part of this release.
Completions and Symlinks
Previously Hilbish completions did not work with symlinks properly.
This can be tested in the previous 2.0 release by attempting to
path complete to /bin
. Since this is (or can be?) a symlink to
/usr/bin
, it was not marked as a directory and therefore did not
automatically add the ending slash. This has been fixed.
Segfaults
I found that when I updated my terminal of choice (Tym
) for the new
daemon feature, Hilbish would sometimes segfault on startup. This is due
to it getting a resize event on startup while bait
was not initialized
yet.
API Fixes
- The
hilbish.which
function works with aliases. hilbish.completion.files
andhilbish.completion.bins
will no longer cause a panic with all empty arguments passed.
Next Release
Stay tuned for the v2.2 release, which will have a bigger set of features and maybe some more bug fixes!