2
2
mirror of https://github.com/Hilbis/Hilbish synced 2025-05-12 07:13:23 +00:00

48 lines
6.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html class="bg-stone-50 dark:bg-neutral-950 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="https://rosettea.github.io/Hilbish/versions/new-website" property="og:url"></head><body><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="block sm:hidden h-10 sticky top-12 flex py-2 px-4 border-b border-b-zinc-300 w-full gap-2 backdrop-blur-sm bg-zinc-300/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></span></div><div class="grid sm:flex"><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 basis-3/5 transition-transform duration-300 -translate-x-full sm:translate-x-0 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">Lunacolors</li><li class="mb-2">Introduction</li><li class="mb-2">Completions</li><li class="mb-2">Frequently Asked Questions</li><li class="mb-2">Getting Started</li><li class="mb-2">Options</li><li class="mb-2">Features</li><li class="mb-2">Runner Mode</li><li class="mb-2">Notification</li><li class="mb-2">Signals</li><li class="mb-2">Signal</li><li class="mb-2">Command</li><li class="mb-2">Hilbish</li><li class="mb-2">Vim Mode</li><li class="mb-2">Actions</li><li class="mb-2">Module bait</li><li class="mb-2">Module terminal</li><li class="mb-2">API</li><li class="mb-2">Module fs</li><li class="mb-2">Module commander</li><li class="mb-2">Module snail</li><li class="mb-2">Module hilbish.aliases</li><li class="mb-2">Module hilbish.abbr</li><li class="mb-2">Module hilbish</li><li class="mb-2">Module hilbish.userDir</li><li class="mb-2">Module hilbish.messages</li><li class="mb-2">Module hilbish.runner</li><li class="mb-2">Module hilbish.history</li><li class="mb-2">Module hilbish.jobs</li><li class="mb-2">Module hilbish.editor</li><li class="mb-2">Module hilbish.module</li><li class="mb-2">Module hilbish.os</li><li class="mb-2">Module hilbish.completion</li><li class="mb-2">Module hilbish.timers</li><li class="mb-2">Module dirs</li><li class="mb-2">Nature</li><li class="mb-2">Module doc</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></h1><Tag xmlns="namespace"><p>(This has mainly been replaced by <a href="../api/hilbish.jobs" rel="noopener noreferrer">hilbish.jobs</a>).</p>
<p>Hilbish has pretty standard job control. Its missing one or two things,
but works well. One thing which is different from other shells
(besides Hilbish) itself is the API for jobs, and of course its in Lua.
You can add jobs, stop and delete (disown) them and even get output.</p>
<h1>Job Interface</h1>
<p>The job interface refers to <code>hilbish.jobs</code>.</p>
<h2>Functions</h2>
<p>(Note that in the list here, theyre called from <code>hilbish.jobs</code>, so
a listing of <code>foo</code> would mean <code>hilbish.jobs.foo</code>)</p>
<ul>
<li><code>all()</code> -&gt; {jobs}: Returns a table of all jobs.</li>
<li><code>last()</code> -&gt; job: Returns the last added job.</li>
<li><code>get(id)</code> -&gt; job: Get a job by its ID.</li>
<li><code>add(cmdstr, args, execPath)</code> -&gt; job: Adds a new job to the job table.
Note that this does not run the command; You have to start it manually.
<code>cmdstr</code> is the users input for the job, <code>args</code> is a table of arguments
for the command. It includes arg0 (dont set it as entry 0 in the table)
and <code>execPath</code> is an absolute path for the command executable.</li>
<li><code>disown(id)</code>: Removes a job by ID from the job table.</li>
</ul>
<h1>Job Object</h1>
<p>A job object is a piece of <code>userdata</code>. All the functions of a job require
you to call them with a colon, since they are <em>methods</em> for the job object.
Example: hilbish.jobs.last():foreground()
Which will foreground the last job.</p>
<p>You can still have a job object for a disowned job,
it just wont be <em>working</em> anywhere. :^)</p>
<h2>Properties</h2>
<ul>
<li><code>cmd</code>: command string</li>
<li><code>running</code>: boolean whether the job is running</li>
<li><code>id</code>: unique id for the job</li>
<li><code>pid</code>: process id for the job</li>
<li><code>exitCode</code>: exit code of the job
In ordinary cases youd prefer to use the <code>id</code> instead of <code>pid</code>.
The <code>id</code> is unique to Hilbish and is how you get jobs with the
<code>hilbish.jobs</code> interface. It may also not describe the job entirely.</li>
</ul>
<h2>Functions</h2>
<ul>
<li><code>stop()</code>: Stops the job.</li>
<li><code>start()</code>: Starts the job.</li>
<li><code>foreground()</code>: Set the job as the current running foreground process, or
run it in the foreground after it has been suspended.</li>
<li><code>background()</code>: Run the job in the background after it has been suspended.</li>
</ul></Tag></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>