mirror of
https://github.com/Hilbis/Hilbish
synced 2025-06-06 20:42:03 +00:00
62 lines
12 KiB
HTML
62 lines
12 KiB
HTML
<!doctype html>
|
|
<html class="bg-stone-50 dark:bg-neutral-900 text-black dark:text-white"><head><meta content="width=device-width, initial-scale=1.0" name="viewport"><link href="/tailwind.css" rel="stylesheet"><title>Hilbish</title><meta content="#ff89dd" name="theme-color"><meta content="/hilbish-flower.png" property="og:image"><meta content="Hilbish" property="og:title"><meta content="Hilbish" property="og:site_name"><meta content="website" property="og:type"><meta content="Something Unique. Hilbish is the new interactive shell for Lua fans. Extensible, scriptable, configurable: All in Lua." property="og:description"><meta content="Something Unique. Hilbish is the new interactive shell for Lua fans. Extensible, scriptable, configurable: All in Lua." name="description"><meta content="Lua,Shell,Hilbish,Linux,zsh,bash" name="keywords"><meta content property="og:url"></head><body class="min-h-screen flex flex-col"><nav class="flex sticky top-0 w-full z-50 border-b border-b-zinc-300 backdrop-blur-md h-12"><div class="flex my-auto px-2"><div><a class="flex items-center gap-1" href="/"><img class="h-6" src="/hilbish-flower.png"><span class="self-center text-2xl">Hilbish</span></a></div></div></nav><div class="flex flex-col"><div class="h-10 flex py-2 px-4 border-b border-b-zinc-300 w-full gap-2 backdrop-blur-sm bg-zinc-300/50 dark:bg-zinc-800/50 z-50"><label class="cursor-pointer" for="sidebar-toggle"><tag><svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" class="fill-black"><path d="M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"/></svg></tag></label><span>Hilbish v2.0 Release</span></div><div class="grid"><input class="peer hidden" id="sidebar-toggle" type="checkbox"><div class="border-r border-r-zinc-300 col-start-1 row-start-1 sticky top-22 sm:top-12 h-full sm:h-svh bg-neutral-200 dark:bg-neutral-900 basis-3/5 transition-transform duration-300 -translate-x-full peer-checked:translate-x-0 z-30"><div class="p-4 -mb-4 overflow-y-auto h-full"><h2 class="text-xl font-semibold mb-4">Sidebar</h2><ul><li class="mb-2">Vim Mode</li><li class="mb-2">Completions</li><li class="mb-2">Lunacolors</li><li class="mb-2">Frequently Asked Questions</li><li class="mb-2">Getting Started</li><li class="mb-2">Introduction</li><li class="mb-2">Module hilbish</li><li class="mb-2">Module fs</li><li class="mb-2">Module snail</li><li class="mb-2">Module terminal</li><li class="mb-2">Module commander</li><li class="mb-2">API</li><li class="mb-2">Module bait</li><li class="mb-2">Module hilbish.module</li><li class="mb-2">Module hilbish.abbr</li><li class="mb-2">Module hilbish.userDir</li><li class="mb-2">Module hilbish.os</li><li class="mb-2">Module hilbish.history</li><li class="mb-2">Module hilbish.completion</li><li class="mb-2">Module hilbish.messages</li><li class="mb-2">Module hilbish.aliases</li><li class="mb-2">Module hilbish.runner</li><li class="mb-2">Module hilbish.timers</li><li class="mb-2">Module hilbish</li><li class="mb-2">Module hilbish.jobs</li><li class="mb-2">Module hilbish.editor</li><li class="mb-2">Actions</li><li class="mb-2">Module doc</li><li class="mb-2">Nature</li><li class="mb-2">Module dirs</li><li class="mb-2">Hilbish</li><li class="mb-2">Command</li><li class="mb-2">Signals</li><li class="mb-2">Signal</li><li class="mb-2">Notification</li><li class="mb-2">Runner Mode</li><li class="mb-2">Options</li><li class="mb-2">Features</li></ul></div></div><main class="col-start-1 row-start-1 transition-all duration-300 peer-checked:filter peer-checked:blur-sm peer-checked:bg-black/30 px-4 pt-2"><h1 class="font-bold text-4xl">Hilbish v2.0 Release</h1><p>Hilbish v2.0 has been released!
|
|
Well actually, it was released a week ago, but I only wrote this
|
|
Hilbish blog <strong>after</strong> that.</p><p>This is a *<strong>big</strong>* 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.</p><h1 class="font-bold text-4xl" id="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-commander-etc.)-and-did-not-include-the-interfaces-(hilbish.timers-hilbish.jobs-and-all-that).">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,
|
|
commander, etc.) and did not include the interfaces (<code>hilbish.timers</code>,
|
|
<code>hilbish.jobs</code> and all that).</h1><p>I have tried to improve this by working on documenting all the
|
|
interfaces (except for some functions of <code>hilbish.runner</code>, 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 <code>doc</code> command.</p><p>Hopefully this addresses documentation complaints, and if not, please open an issue.</p><h1 class="font-bold text-4xl" id="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">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!</h1><h2 class="font-bold text-3xl" id="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.)">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.)</h2><p>A few of the fixes (and additions) include:</p><ul style="list-style-type:'-';"><li><p>Fixing various crashes, including when there is a "stray" newline at the end of text</p></li><li><p>Grid completion menu causing spam and duplicate text when there are items longer than</p></li></ul><p>the terminal and/or contain Japanese or other characters.
|
|
- Cursor positioning with CJK characters
|
|
- Adding new keybinds and fixing others</p><h2 class="font-bold text-3xl" id="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">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</h2><h1 class="font-bold text-4xl" id="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).">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).</h1><h2 class="font-bold text-3xl" id="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.">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
|
|
<a href="https://github.com/arnodel/golua/">golua</a>, which implements Lua 5.4.</h2><p>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.</p><h2 class="font-bold text-3xl" id="Userdata-Previously-objects-such-as-jobs-or-timers-were-represented-by-tables.-This-has-been-changed-to-userdata-to-make-more-sense.">Userdata
|
|
Previously, objects such as jobs or timers were represented by tables.
|
|
This has been changed to userdata to make more sense.</h2><h2 class="font-bold text-3xl" id="Other-changes-Runner-functions-are-now-required-to-return-a-table.-It-can-(at-the-moment)-have-4-variables:---input-(user-input)---exitCode-(exit-code)---error-(error-message)---continue-(whether-to-prompt-for-more-input)-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.">Other changes
|
|
Runner functions are now required to return a table.
|
|
It can (at the moment) have 4 variables:
|
|
- <code>input</code> (user input)
|
|
- <code>exitCode</code> (exit code)
|
|
- <code>error</code> (error message)
|
|
- <code>continue</code> (whether to prompt for more input)
|
|
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. <code>continue</code>
|
|
got added so that it would be easier for runners to get continued input
|
|
without having to actually handle it at all.</h2><p>The MacOS config paths now match Linux, since it makes more sense for
|
|
a program like Hilbish.</p><p>The Hilbish greeting is now an <strong>opt</strong>, and is printed by default.</p><h1 class="font-bold text-4xl" id="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.">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.</h1><p>Some new hooks have been added, like <code>hilbish.cancel</code> and <code>hilbish.init</code>.
|
|
You can look at all the hooks via the <code>doc hooks</code> command</p><p>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.</p><p>The <code>hilbish.timers</code> API interface was also added in this release!</p><h1 class="font-bold text-4xl" id="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">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!</h1><p>If you want to check the FULL changelog, you can <a href="https://github.com/Rosettea/Hilbish/releases/tag/v2.0.0">do so here.</a>
|
|
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.</p><p>Thanks for reading, and I'll be back for the v2.1 release notes, or maybe
|
|
something else in between.</p></main></div></div><footer class="py-4 px-6 flex flex-row justify-around border-t border-t-zinc-300"><div class="flex flex-col"><a class="flex items-center gap-1" href><img class="h-24" src="/hilbish-flower.png"><span class="self-center text-6xl">Hilbish</span></a><span class="text-xl">The Moon-powered shell!</span><span class="text-light text-neutral-500">MIT License, copyright sammyette 2025</span></div><div class="flex flex-col"><a href="https://github.com/Rosettea/Hilbish"><span class="text-pink-300 text-light">GitHub</span></a></div></footer></body></html> |