2
2
mirror of https://github.com/Hilbis/Hilbish synced 2025-06-06 12:32:03 +00:00

78 lines
11 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>Module hilbish.jobs</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">Module hilbish.jobs</h1><h2 class="font-bold text-3xl" id="Introduction">Introduction</h2><p>Manage interactive jobs in Hilbish via Lua.</p><p>Jobs are the name of background tasks/commands. A job can be started via
interactive usage or with the functions defined below for use in external runners.</p><h2 class="font-bold text-3xl" id="Functions-|||-|----|----|-|&lt;a-href=&quot;jobs.add&quot;&gt;add(cmdstr-args-execPath)&lt;/a&gt;|Creates-a-new-job.-This-function-does-not-run-the-job.-This-function-is-intended-to-be|-|&lt;a-href=&quot;jobs.all&quot;&gt;all()--&gt;-table[@Job]&lt;/a&gt;|Returns-a-table-of-all-job-objects.|-|&lt;a-href=&quot;jobs.disown&quot;&gt;disown(id)&lt;/a&gt;|Disowns-a-job.-This-simply-deletes-it-from-the-list-of-jobs-without-stopping-it.|-|&lt;a-href=&quot;jobs.get&quot;&gt;get(id)--&gt;-@Job&lt;/a&gt;|Get-a-job-object-via-its-ID.|-|&lt;a-href=&quot;jobs.last&quot;&gt;last()--&gt;-@Job&lt;/a&gt;|Returns-the-last-added-job-to-the-table.|">Functions
|||
|----|----|
|&lt;a href=&quot;#jobs.add&quot;&gt;add(cmdstr, args, execPath)&lt;/a&gt;|Creates a new job. This function does not run the job. This function is intended to be|
|&lt;a href=&quot;#jobs.all&quot;&gt;all() -&gt; table[@Job]&lt;/a&gt;|Returns a table of all job objects.|
|&lt;a href=&quot;#jobs.disown&quot;&gt;disown(id)&lt;/a&gt;|Disowns a job. This simply deletes it from the list of jobs without stopping it.|
|&lt;a href=&quot;#jobs.get&quot;&gt;get(id) -&gt; @Job&lt;/a&gt;|Get a job object via its ID.|
|&lt;a href=&quot;#jobs.last&quot;&gt;last() -&gt; @Job&lt;/a&gt;|Returns the last added job to the table.|</h2><p>&lt;hr&gt;
&lt;div id=&#39;jobs.add&#39;&gt;
&lt;h4 class=&#39;heading&#39;&gt;
hilbish.jobs.add(cmdstr, args, execPath)
&lt;a href=&quot;#jobs.add&quot; class=&#39;heading-link&#39;&gt;
&lt;i class=&quot;fas fa-paperclip&quot;&gt;&lt;/i&gt;
&lt;/a&gt;
&lt;/h4&gt;</p><p>Creates a new job. This function does not run the job. This function is intended to be
used by runners, but can also be used to create jobs via Lua. Commanders cannot be ran as jobs. </p><p class="font-bold text-xl" id="Parameters-string-**cmdstr**---String-that-a-user-would-write-for-the-job">Parameters
<code>string</code> **<code>cmdstr</code>**
String that a user would write for the job</p><p><code>table</code> **<code>args</code>**
Arguments for the commands. Has to include the name of the command.</p><p><code>string</code> **<code>execPath</code>**
Binary to use to run the command. Needs to be an absolute path.</p><p class="font-bold text-xl" id="Example-lua-hilbish.jobs.add(&#39;go-build&#39;-{&#39;go&#39;-&#39;build&#39;}-&#39;/usr/bin/go&#39;)--&lt;/div&gt;">Example
<code>lua
hilbish.jobs.add(&#39;go build&#39;, {&#39;go&#39;, &#39;build&#39;}, &#39;/usr/bin/go&#39;)
</code>
&lt;/div&gt;</p><p>&lt;hr&gt;
&lt;div id=&#39;jobs.all&#39;&gt;
&lt;h4 class=&#39;heading&#39;&gt;
hilbish.jobs.all() -&gt; table[&lt;a href=&quot;/Hilbish/docs/api/hilbish/hilbish.jobs/#job&quot; style=&quot;text-decoration: none;&quot; id=&quot;lol&quot;&gt;Job&lt;/a&gt;]
&lt;a href=&quot;#jobs.all&quot; class=&#39;heading-link&#39;&gt;
&lt;i class=&quot;fas fa-paperclip&quot;&gt;&lt;/i&gt;
&lt;/a&gt;
&lt;/h4&gt;</p><p>Returns a table of all job objects. </p><p class="font-bold text-xl" id="Parameters-This-function-has-no-parameters.---&lt;/div&gt;">Parameters
This function has no parameters.
&lt;/div&gt;</p><p>&lt;hr&gt;
&lt;div id=&#39;jobs.disown&#39;&gt;
&lt;h4 class=&#39;heading&#39;&gt;
hilbish.jobs.disown(id)
&lt;a href=&quot;#jobs.disown&quot; class=&#39;heading-link&#39;&gt;
&lt;i class=&quot;fas fa-paperclip&quot;&gt;&lt;/i&gt;
&lt;/a&gt;
&lt;/h4&gt;</p><p>Disowns a job. This simply deletes it from the list of jobs without stopping it. </p><p class="font-bold text-xl" id="Parameters-number-**id**">Parameters
<code>number</code> **<code>id</code>** </p><p>&lt;/div&gt;</p><p>&lt;hr&gt;
&lt;div id=&#39;jobs.get&#39;&gt;
&lt;h4 class=&#39;heading&#39;&gt;
hilbish.jobs.get(id) -&gt; &lt;a href=&quot;/Hilbish/docs/api/hilbish/hilbish.jobs/#job&quot; style=&quot;text-decoration: none;&quot; id=&quot;lol&quot;&gt;Job&lt;/a&gt;
&lt;a href=&quot;#jobs.get&quot; class=&#39;heading-link&#39;&gt;
&lt;i class=&quot;fas fa-paperclip&quot;&gt;&lt;/i&gt;
&lt;/a&gt;
&lt;/h4&gt;</p><p>Get a job object via its ID. </p><p class="font-bold text-xl">Parameters
This function has no parameters.
&lt;/div&gt;</p><p>&lt;hr&gt;
&lt;div id=&#39;jobs.last&#39;&gt;
&lt;h4 class=&#39;heading&#39;&gt;
hilbish.jobs.last() -&gt; &lt;a href=&quot;/Hilbish/docs/api/hilbish/hilbish.jobs/#job&quot; style=&quot;text-decoration: none;&quot; id=&quot;lol&quot;&gt;Job&lt;/a&gt;
&lt;a href=&quot;#jobs.last&quot; class=&#39;heading-link&#39;&gt;
&lt;i class=&quot;fas fa-paperclip&quot;&gt;&lt;/i&gt;
&lt;/a&gt;
&lt;/h4&gt;</p><p>Returns the last added job to the table. </p><p class="font-bold text-xl">Parameters
This function has no parameters.
&lt;/div&gt;</p><h2 class="font-bold text-3xl" id="Types-&lt;hr&gt;">Types
&lt;hr&gt;</h2><h2 class="font-bold text-3xl" id="Job-The-Job-type-describes-a-Hilbish-job.-Object-properties-|||-|----|----|-|cmd|The-user-entered-command-string-for-the-job.|-|running|Whether-the-job-is-running-or-not.|-|id|The-ID-of-the-job-in-the-job-table|-|pid|The-Process-ID|-|exitCode|The-last-exit-code-of-the-job.|-|stdout|The-standard-output-of-the-job.-This-just-means-the-normal-logs-of-the-process.|-|stderr|The-standard-error-stream-of-the-process.-This-(usually)-includes-error-messages-of-the-job.|">Job
The Job type describes a Hilbish job.
Object properties
|||
|----|----|
|cmd|The user entered command string for the job.|
|running|Whether the job is running or not.|
|id|The ID of the job in the job table|
|pid|The Process ID|
|exitCode|The last exit code of the job.|
|stdout|The standard output of the job. This just means the normal logs of the process.|
|stderr|The standard error stream of the process. This (usually) includes error messages of the job.|</h2><h3 class="font-bold text-2xl" id="Methods">Methods</h3><p class="font-bold text-xl" id="background()-Puts-a-job-in-the-background.-This-acts-the-same-as-initially-running-a-job.">background()
Puts a job in the background. This acts the same as initially running a job.</p><p class="font-bold text-xl" id="foreground()-Puts-a-job-in-the-foreground.-This-will-cause-it-to-run-like-it-was-executed-normally-and-wait-for-it-to-complete.">foreground()
Puts a job in the foreground. This will cause it to run like it was
executed normally and wait for it to complete.</p><p class="font-bold text-xl" id="start()-Starts-running-the-job.">start()
Starts running the job.</p><p class="font-bold text-xl" id="stop()-Stops-the-job-from-running.">stop()
Stops the job from running.</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>