2
2
mirror of https://github.com/Hilbis/Hilbish synced 2025-07-01 08:42:04 +00:00

62 lines
16 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="min-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 dark:text-pink-300 text-pink-600"><a href="https://rosettea.github.io/Hilbish/versions/new-website/">Home</a><a href="https://rosettea.github.io/Hilbish/versions/new-website/install">Install</a><a href="https://rosettea.github.io/Hilbish/versions/new-website/docs">Docs</a><a href="https://rosettea.github.io/Hilbish/versions/new-website/blog">Blog</a></div></nav><div class="flex-auto flex flex-col overflow-none"><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="h-full sm:flex grid"><input class="peer hidden" id="sidebar-toggle" type="checkbox"><div class="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/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><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></ul></div><main class="mb-4 h-full overflow-y-auto 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 px-4 pt-2"><h1 class="my-3 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&#39;s see what is in this release.</p><h1 class="my-2 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&#39;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-2 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&#39;s-also-the-other-fact-that-sometimes-there&#39;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&#39;s also the other fact that
sometimes there&#39;s just bugs for any other reasosn. Good thing I fixed
more than 40 of those bugs in this release!</h1><h2 class="my-1 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:&#39;-&#39;;"><li><p>Fixing various crashes, including when there is a &quot;stray&quot; 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-1 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&#39;t-put-alias-expanded-command-in-history-(I&#39;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&#39;t put alias expanded command in history (I&#39;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-2 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-1 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&#39;t seem like it,
and since these are different Lua implementations, there may be some differences there too.</p><h2 class="my-1 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-1 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-2 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-2 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&#39;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&#39;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&#39;t died) and I hope it can advance even further.</p><p>Thanks for reading, and I&#39;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="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"><span class="text-pink-300 text-light">GitHub</span></a></div></footer></body></html>