Happy birthday Hilbish! As of last month, Hilbish is now 2 years old.
Unfortunately I missed the official date, but I will still make a more
focused post on the date (19st).
I decided to fix up this website and Hilbish's logo, so that can
-be thought of as something for the 2 years milestone?
Logo
+be thought of as something for the 2 years milestone?
Logo
Hilbish's old logo was.. not that good. It definitely functioned
as a logo, but the yellow part of it looked ugly (sorry old logo).
You would have definitely seen the new logo, since it is currently
@@ -13,13 +13,13 @@ in use on the navigation bar and footer. Here it is in a bigger view:
# Website
Ever since this website was first made, from the release of v2.0, it has
-been doing it's job of being a website good enough, but there were a few issues.
Padding
+been doing it's job of being a website good enough, but there were a few issues.
Padding
Padding is very important! The edges of your screen need space to do nothing,
after all. On mobile or screens small enough, there would not be enough space
for the auto margin to fill, and since there was no padding besides that,
it means things would look a bit cramped. This was simple to fix.
Here it is before:
and after:
-
Docs Navigation
+
Docs Navigation
On the docs page, the pages are on the left on desktop. Since
phones are too small to have this content on the side, it stays at the top.
This is a bit counter intuitive since it brings in extra scrolling
@@ -28,11 +28,14 @@ was not hidden by default. So a few improvements were made:
- Make the doc navigation hidden by default on mobile, just like site wide navigation
- Make doc navigation have the same look as site wide navigation
Here's a before:
and after:
-
Looks a lot better now.
Other Changes
+
Looks a lot better now.
Other Changes
If you haven't noticed, I have made other changes to the website.
This includes:
- Borders! Something this simple makes the website look a lot better, especially on mobile.
-- More padding and margin everywhere. Home, doc pages, blog post listing.
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.0-release/index.html b/versions/new-website/blog/v2.0-release/index.html
index 026ed17a..355a13f6 100644
--- a/versions/new-website/blog/v2.0-release/index.html
+++ b/versions/new-website/blog/v2.0-release/index.html
@@ -1,9 +1,9 @@
-Hilbish
Hilbish v2.0 has been released!
Well actually, it was released a week ago, but I only wrote this
Hilbish blog after that.
This is a *big* release, coming 9 months after the previous v1.2.0 and
featuring over 40+ bug fixes and tons of new features and enhancements, so
-let's see what is in this release.
Documentation
+let's see what is in this release.
Documentation
When querying about the problems people have with Hilbish, one of the
issues was its poor documentation. Hilbish had plain text, autogenerated
documentation which only covered the module functions (bait, hilbish,
@@ -11,31 +11,31 @@ commander, etc.) and did not include the interfaces (hilbish.jobs and all that).
I have tried to improve this by working on documenting all the
interfaces (except for some functions of hilbish.runner, that's hard to do)
and made the documentation markdown for use on this website. This means
-that users can look at documentation here or with the doc command.
Hopefully this addresses documentation complaints, and if not, please open an issue.
Main Bug Fixes
+that users can look at documentation here or with the doc command.
Hopefully this addresses documentation complaints, and if not, please open an issue.
Main Bug Fixes
As this is a piece of software with no unit testing that is maintained by me alone,
there is gonna be either some bug or something that I overlooked when
making a change. I make a lot of mistakes. There's also the other fact that
sometimes there's just bugs for any other reasosn. Good thing I fixed
-more than 40 of those bugs in this release!
Readline Bug Fixes
+more than 40 of those bugs in this release!
Readline Bug Fixes
The pure Go readline library is good in some ways and bad in others.
A good portion of the bug fixes are for the readline library, and also
related to text input with east asian characters and the like (Korean, Japanese,
etc.)
A few of the fixes (and additions) include:
Fixing various crashes, including when there is a "stray" newline at the end of text
Grid completion menu causing spam and duplicate text when there are items longer than
the terminal and/or contain Japanese or other characters.
- Cursor positioning with CJK characters
-- Adding new keybinds and fixing others
Other fixes
+- Adding new keybinds and fixing others
Other fixes
There are a lot more fixes, even more than the ones listed here, but these are the main ones:
- Don't put alias expanded command in history (I've fixed this 5 times now....)
- Handle stdin being nonblocking
- - Completion related fixes, like showing the full name, completing files with spaces
Breaking changes
+ - Completion related fixes, like showing the full name, completing files with spaces
Breaking changes
This release is a major version bump not only because there are tons of fixes, but because
there are breaking changes. This means that there are some changes done which would
-cause errors with an old user config (breaking).
Lua 5.4
+cause errors with an old user config (breaking).
Lua 5.4
The most important is the use of a new Lua VM library. Previously, Hilbish
used gopher-lua, which implements Lua 5.1. This has been changed to
golua, which implements Lua 5.4.
Moving from 5.1 to 5.4 does have breaking changes even if it doesn't seem like it,
-and since these are different Lua implementations, there may be some differences there too.
Userdata
+and since these are different Lua implementations, there may be some differences there too.
Userdata
Previously, objects such as jobs or timers were represented by tables.
-This has been changed to userdata to make more sense.
Other changes
+This has been changed to userdata to make more sense.
Other changes
Runner functions are now required to return a table.
It can (at the moment) have 4 variables:
- input (user input)
@@ -46,20 +46,23 @@ User input has been added to the return to account for runners wanting to
prompt for continued input, and to add it properly to history. continue
got added so that it would be easier for runners to get continued input
without having to actually handle it at all.
The MacOS config paths now match Linux, since it makes more sense for
-a program like Hilbish.
The Hilbish greeting is now an opt, and is printed by default.
Feature Additions
+a program like Hilbish.
The Hilbish greeting is now an opt, and is printed by default.
Feature Additions
Besides fixes and changes, this release also includes a good portion of
new features! Users can now add handlers for syntax highlighting and
inline hinting.
Some new hooks have been added, like hilbish.cancel and hilbish.init.
You can look at all the hooks via the doc hooks command
Job management functions have also been added. You can now put jobs in the
foreground/background and disown them via the expected commands and also
-via the Lua API.
The hilbish.timers API interface was also added in this release!
Closing Off
+via the Lua API.
The hilbish.timers API interface was also added in this release!
Closing Off
Hilbish has gone from something small and simple for myself to a slightly
advanced shell with a decent amount of features, and a few users. It
still hasn't reached levels of other alt shells in regards to literally
everything, but the goal is to get there!
If you want to check the FULL changelog, you can do so here.
This v2.0 release marks an advancement in Hilbish (and also how long
one of my projects hasn't died) and I hope it can advance even further.
Thanks for reading, and I'll be back for the v2.1 release notes, or maybe
-something else in between.
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.1-release/index.html b/versions/new-website/blog/v2.1-release/index.html
index 44fd82b4..bbaa024a 100644
--- a/versions/new-website/blog/v2.1-release/index.html
+++ b/versions/new-website/blog/v2.1-release/index.html
@@ -1,39 +1,42 @@
-Hilbish
> The release with full changelogs and prebuilt binaries can be
seen at the v2.1.0
tag.
Oh 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
+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
+- 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.
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
+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
+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
+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
+yet.
API Fixes
- The hilbish.which function works with aliases.
- hilbish.completion.files and hilbish.completion.bins will no longer
-cause a panic with all empty arguments passed.
Next Release
+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!
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.1.1-release/index.html b/versions/new-website/blog/v2.1.1-release/index.html
index 0f96e8bc..6a3cc4fc 100644
--- a/versions/new-website/blog/v2.1.1-release/index.html
+++ b/versions/new-website/blog/v2.1.1-release/index.html
@@ -1,21 +1,24 @@
-Hilbish
> The release with full changelogs and prebuilt binaries can be
seen at the v2.1.1
tag.
Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting
the long coming v2.2 release with lots of features, but I needed to push
-out this little bug fix (wink) release.
Bug Fixes
Validation checks for command input
+out this little bug fix (wink) release.
Bug Fixes
Validation checks for command input
When running this version, you may have noticed an odd message that sometimes
comes up when running commands. This is from the new TMOLI42SH
-(The Meaning of Life is 42 String Hash) input validation scheme.
Improved runtime code
+(The Meaning of Life is 42 String Hash) input validation scheme.
Improved runtime code
Commands now have a chance of taking exactly 2-3s ~~more~~ less time of running due to
-improvements in the code for shell runners!!!!!
Validate lua code
+improvements in the code for shell runners!!!!!
Validate lua code
Hilbish already threw an error when Lua code was not valid in syntax, but there was the
need for an extra validation scheme (called OpTTCLC - Opinion based Turing Test to Check Lua Code)
-which results in less time wasted running invalid and TERRIBLE Lua code.
Features
-There is only 1 new feature in this glorious release.
Fix your mistakes for the future
-If you run a command that does not exist, Hilbish will say goodbye.
Closing
+which results in less time wasted running invalid and TERRIBLE Lua code.
Features
+There is only 1 new feature in this glorious release.
Fix your mistakes for the future
+If you run a command that does not exist, Hilbish will say goodbye.
Closing
Hope you enjoy this new release! It took a lot of effort to create this new version
-while I was busy doing completely nothing. :)))
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.1.2-release/index.html b/versions/new-website/blog/v2.1.2-release/index.html
index bce826b8..9690a8a1 100644
--- a/versions/new-website/blog/v2.1.2-release/index.html
+++ b/versions/new-website/blog/v2.1.2-release/index.html
@@ -1,9 +1,12 @@
-Hilbish
> The release with full changelogs and prebuilt binaries can be
seen at the v2.1.2
tag.
This release reverts the April Fool's code additions in v2.1.1. It is
functionally equal to v2.1.0. Nice!
A real release will come possibly in a few days or next week, so stay tuned for
-the good and feature-filled release of v2.2!
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.2-release/index.html b/versions/new-website/blog/v2.2-release/index.html
index 5e7a2546..7bfe98f9 100644
--- a/versions/new-website/blog/v2.2-release/index.html
+++ b/versions/new-website/blog/v2.2-release/index.html
@@ -1,10 +1,10 @@
-Hilbish
> The release with full changelogs and prebuilt binaries can be
seen at the v2.2.0
tag.
Welcome to a very long awaited release of Hilbish, and on Christmas. Just think
of it as a long preparing, late Christmas gift. :)
This release does not contain a whole lot of changes, but it is a new
-release with enhancements and bug fixes!
Documentation
+release with enhancements and bug fixes!
Documentation
As is a trend, the documentation has been improved by ONE HUNDRED TIMES.
Okay, not quite, but they've definitely been given an uplift.
Everything has been rewritten, new documentation has been added to both
@@ -17,10 +17,10 @@ The first new added feature is the Greenhouse pager! It is a library and
command accessible via greenhouse. It will have better integration with
Hilbish things, like notifications and can be used as a base for displaying
multi-line text output instead of paging to less. The usage of Greenhouse is
-more efficient and better in Hibish!
Notifications
+more efficient and better in Hibish!
Notifications
Wait... notifications? Yes! All new in the 2.2 release is a generic notification
interface for things in Hilbish to alert the user of things going on. Stuff like
-background jobs finishing, simple alarms, actual messages, whatever you like.
Fuzzy Searching
+background jobs finishing, simple alarms, actual messages, whatever you like.
Fuzzy Searching
Users can now use fuzzy search for command history and completion search.
Enable it with hilbish.opts.fuzzy = true!
Smaller Enhancements
Did you know of the cdr command? I personally don't use it, but I've made
@@ -31,7 +31,7 @@ just aliases. A simple example: run normally there would be a space after.
Simple fix:
lua
hilbish.alias('run', 'nix run nixpkgs#%1')
-
Rejoice!
Bug Fixes
+
Rejoice!
Bug Fixes
There are a small amount of bug fixes but they're still fixes!
In some cases Hilbish will panic if:
- Alias resolution results in something empty
- A user does not return a table in a runner functions
@@ -39,11 +39,14 @@ These are both fixed.
An infinite loop has been patched out if someone nav
having any prior history. Imagine pressing the up key on a fresh Hilbish
install and you shell no longer working... that's gone now.
Something else that's gone... is still Windows support, but I added a fix
which will make file completion work now. Job management commands work as
-well now too due to an oversight when changing up the job functions.
Towards v2.3
+well now too due to an oversight when changing up the job functions.
Towards v2.3
For the next release, I'm hoping that it won't take as long to deliver on
what is realistically a small amount of changes. So v2.3 will be coming
in a short time with some good changes, promise! See you in the
-next blog post.
\ No newline at end of file
diff --git a/versions/new-website/blog/v2.3-release/index.html b/versions/new-website/blog/v2.3-release/index.html
index 94417166..965a78ae 100644
--- a/versions/new-website/blog/v2.3-release/index.html
+++ b/versions/new-website/blog/v2.3-release/index.html
@@ -1,9 +1,9 @@
-Hilbish
> The release with full changelogs and prebuilt binaries can be
seen at the v2.3.0
tag.
Hilbish v2.3 has now been released! This is small feature and bug fix release
which took a while to cme ut since I took a long break from programming in general.
-The next release will be great, so stay tuned for that.
Features
Pipes (via Lua)
+The next release will be great, so stay tuned for that.
Features
Pipes (via Lua)
Commands can now be piped to each other via the Lua API with the hilbish.run
function and an fs.pipe.
Here is a minimal example of the new usage which allows users to now pipe commands
directly via Lua functions:
@@ -18,13 +18,16 @@ hilbish.run('ls -l', {
stdin = pr
})
This also means it's easier to make commands output to any stream output,
-including in commanders.
Bug Fixes
+including in commanders.
Bug Fixes
- Commanders can now be cancelled with Ctrl-C, which means if they froze for some reason
they can now be exited.
- The shell script interpreter now keeps its environment, and this also fixes the
current working directory being wrong with some commands.
- Some greenhouse bugs have been fixed, like randomly appearing when resizing the terminal
-and some text attributes like color appearing where they weren't supposed to.
\ No newline at end of file
diff --git a/versions/new-website/blog/welcome/index.html b/versions/new-website/blog/welcome/index.html
index fb47f092..9e48c01b 100644
--- a/versions/new-website/blog/welcome/index.html
+++ b/versions/new-website/blog/welcome/index.html
@@ -1,6 +1,9 @@
-Hilbish