mirror of
https://github.com/Hilbis/Hilbish
synced 2025-07-01 08:42:04 +00:00
68 lines
18 KiB
HTML
68 lines
18 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="https://rosettea.github.io/Hilbish/versions/new-website/tailwind.css" rel="stylesheet"><title>Hilbish</title><meta content="#ff89dd" name="theme-color"><meta content="https://rosettea.github.io/Hilbish/versions/new-website/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="https://rosettea.github.io/Hilbish/versions/new-website" property="og:url"></head><body class="h-screen flex flex-col"><nav class="bg-stone-100/80 dark:bg-neutral-950/80 flex justify-around sticky items-center 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-8" src="https://rosettea.github.io/Hilbish/versions/new-website/hilbish-flower.png"><span class="self-center text-3xl font-medium">Hilbish</span></a></div></div><div class="flex gap-3"><a href="https://rosettea.github.io/Hilbish/versions/new-website/install"><span class="inline-flex text-light dark:text-pink-300 dark:hover:text-pink-200 text-pink-600 hover:text-pink-500 hover:underline">Install</span></a><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs"><span class="inline-flex text-light dark:text-pink-300 dark:hover:text-pink-200 text-pink-600 hover:text-pink-500 hover:underline">Docs</span></a><a href="https://rosettea.github.io/Hilbish/versions/new-website/blog"><span class="inline-flex text-light dark:text-pink-300 dark:hover:text-pink-200 text-pink-600 hover:text-pink-500 hover:underline">Blog</span></a></div></nav><div class="flex-1 flex flex-col overflow-hidden"><div class="sm:hidden 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"><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-white"><path d="M120-240v-80h240v80H120Zm0-200v-80h480v80H120Zm0-200v-80h720v80H120Z"/></svg></tag></label><span class="font-bold">Hilbish v2.0 Release</span></div><div class="flex-1 sm:flex grid overflow-hidden"><input class="peer hidden" id="sidebar-toggle" type="checkbox"><div class="overflow-y-scroll p-4 sm:border-r sm:border-r-zinc-300 col-start-1 row-start-1 bg-neutral-100 dark:bg-neutral-950 basis-2/10 transition-transform duration-300 -translate-x-full peer-checked:translate-x-0 sm:translate-x-0 z-30"><ul class="text-lg flex flex-col gap-2"><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs">Introduction</a></li><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/getting-started">Getting Started</a></li><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/faq">Frequently Asked Questions</a></li><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/features">Features</a></li><ul class="pl-4"><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/completions">Completions</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/features/notifications">Notification</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/features/opts">Options</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/features/runner-mode">Runner Mode</a></li></ul><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/hooks">Signals</a></li><ul class="pl-4"><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/hooks/command">Command</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/hooks/hilbish">Hilbish</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/hooks/signal">Signal</a></li></ul><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/lunacolors">Lunacolors</a></li><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api">API</a></li><ul class="pl-4"><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/bait">Module bait</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/commander">Module commander</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/fs">Module fs</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/hilbish">Module hilbish</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/readline">Module readline</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/snail">Module snail</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/terminal">Module terminal</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/api/yarn">Module yarn</a></li></ul><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/nature">Nature</a></li><ul class="pl-4"><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/nature/dirs">Module dirs</a></li><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/nature/doc">Module doc</a></li></ul><li class="font-bold"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/vim-mode">Vim Mode</a></li><ul class="pl-4"><li class="mb-2"><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs/vim-mode/actions">Actions</a></li></ul></ul></div><main class="flex-1 flex justify-center basis-7/7 col-start-1 row-start-1 transition-all duration-300 peer-checked:filter peer-checked:blur-sm peer-checked:bg-black/30"><div class="flex-1 flex flex-col overflow-y-auto"><div class="flex-1 w-3/4 self-center p-8"><h1 class="my-3 font-bold text-4xl">Hilbish v2.0 Release</h1><i></i><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="my-4 text-neutral-800 dark:text-neutral-300 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 class="text-violet-600 dark:text-violet-400">hilbish.timers</code>,
|
|
<code class="text-violet-600 dark:text-violet-400">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 class="text-violet-600 dark:text-violet-400">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 class="text-violet-600 dark:text-violet-400">doc</code> command.</p><p>Hopefully this addresses documentation complaints, and if not, please open an issue.</p><h1 class="my-4 text-neutral-800 dark:text-neutral-300 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="my-2 text-neutral-800 dark:text-neutral-300 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="my-2 text-neutral-800 dark:text-neutral-300 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="my-4 text-neutral-800 dark:text-neutral-300 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="my-2 text-neutral-800 dark:text-neutral-300 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="my-2 text-neutral-800 dark:text-neutral-300 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="my-2 text-neutral-800 dark:text-neutral-300 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 class="text-violet-600 dark:text-violet-400">input</code> (user input)
|
|
- <code class="text-violet-600 dark:text-violet-400">exitCode</code> (exit code)
|
|
- <code class="text-violet-600 dark:text-violet-400">error</code> (error message)
|
|
- <code class="text-violet-600 dark:text-violet-400">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 class="text-violet-600 dark:text-violet-400">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="my-4 text-neutral-800 dark:text-neutral-300 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 class="text-violet-600 dark:text-violet-400">hilbish.cancel</code> and <code class="text-violet-600 dark:text-violet-400">hilbish.init</code>.
|
|
You can look at all the hooks via the <code class="text-violet-600 dark:text-violet-400">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 class="text-violet-600 dark:text-violet-400">hilbish.timers</code> API interface was also added in this release!</p><h1 class="my-4 text-neutral-800 dark:text-neutral-300 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></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="https://rosettea.github.io/Hilbish/versions/new-website"><img class="h-24" src="https://rosettea.github.io/Hilbish/versions/new-website/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" target="_blank"><span class="inline-flex text-light dark:text-pink-300 dark:hover:text-pink-200 text-pink-600 hover:text-pink-500 hover:underline"><tag><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
|
|
</svg>
|
|
</tag>GitHub</span></a></div></footer></div></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="https://rosettea.github.io/Hilbish/versions/new-website"><img class="h-24" src="https://rosettea.github.io/Hilbish/versions/new-website/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" target="_blank"><span class="inline-flex text-light dark:text-pink-300 dark:hover:text-pink-200 text-pink-600 hover:text-pink-500 hover:underline"><tag><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
|
|
</svg>
|
|
</tag>GitHub</span></a></div></footer></body></html> |