mirror of https://github.com/Hilbis/Hilbish
deploy: 3219c47071
parent
3417ecac02
commit
e934498620
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,8 @@ Jobs are the name of background tasks/commands. A job can be started via interac
|
||||||
Functions add(cmdstr, args, execPath) Creates a new job. This function does not run the job. This function is intended to be all() -&gt; table[@Job] Returns a table of all job objects. disown(id) Disowns a job. This simply deletes it from the list of jobs without stopping it.</description></item><item><title>Module hilbish.module</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</guid><description>Introduction The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin ) that are used to add functionality to Hilbish that cannot be written in Lua for any reason.
|
Functions add(cmdstr, args, execPath) Creates a new job. This function does not run the job. This function is intended to be all() -&gt; table[@Job] Returns a table of all job objects. disown(id) Disowns a job. This simply deletes it from the list of jobs without stopping it.</description></item><item><title>Module hilbish.module</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</guid><description>Introduction The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin ) that are used to add functionality to Hilbish that cannot be written in Lua for any reason.
|
||||||
Note that you don&rsquo;t ever need to use the load function that is here as modules can be loaded with a require call like Lua C modules, and the search paths can be changed with the paths property here.</description></item><item><title>Module hilbish.os</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</guid><description> Introduction Provides simple text information properties about the current operating system. This mainly includes the name and version.
|
Note that you don&rsquo;t ever need to use the load function that is here as modules can be loaded with a require call like Lua C modules, and the search paths can be changed with the paths property here.</description></item><item><title>Module hilbish.os</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</guid><description> Introduction Provides simple text information properties about the current operating system. This mainly includes the name and version.
|
||||||
Static module fields family Family name of the current OS name Pretty name of the current OS version Version of the current OS</description></item><item><title>Module hilbish.runner</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</guid><description>Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel.
|
Static module fields family Family name of the current OS name Pretty name of the current OS version Version of the current OS</description></item><item><title>Module hilbish.runner</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</guid><description>Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel.
|
||||||
Functions setMode(cb) This is the same as the hilbish.runnerMode function. lua(cmd) Evaluates cmd as Lua input. This is the same as using dofile sh(cmd) Runs a command in Hilbish&rsquo;s shell script interpreter.</description></item><item><title>Module hilbish.timers</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</guid><description>Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts.
|
Runners are functions that evaluate user input. The default runners in Hilbish can run shell script and Lua code.
|
||||||
|
A runner is passed the input and has to return a table with these values.</description></item><item><title>Module hilbish.timers</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</guid><description>Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts.
|
||||||
These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish, or Module hilbish on the Website).
|
These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish, or Module hilbish on the Website).
|
||||||
An example of usage:
|
An example of usage:
|
||||||
1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print &#39;hello!</description></item><item><title>Module hilbish.userDir</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</guid><description> Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data.
|
1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print &#39;hello!</description></item><item><title>Module hilbish.userDir</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</guid><description> Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data.
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -3,9 +3,9 @@ For simple usage, a single color or style is enough. For example, you can just u
|
||||||
In other usage, you may want to use a format string instead of having multiple nested functions for different styles.</description></item><item><title>Frequently Asked Questions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/faq/</guid><description>Is Hilbish POSIX compliant? No, it is not. POSIX compliance is a non-goal. Perhaps in the future, someone would be able to write a native plugin to support shell scripting (which would be against it&rsquo;s main goal, but &hellip;.)
|
In other usage, you may want to use a format string instead of having multiple nested functions for different styles.</description></item><item><title>Frequently Asked Questions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/faq/</guid><description>Is Hilbish POSIX compliant? No, it is not. POSIX compliance is a non-goal. Perhaps in the future, someone would be able to write a native plugin to support shell scripting (which would be against it&rsquo;s main goal, but &hellip;.)
|
||||||
Windows Support? It compiles for Windows (CI ensures it does), but otherwise it is not directly supported. If you&rsquo;d like to improve this situation, checkout the discussion .
|
Windows Support? It compiles for Windows (CI ensures it does), but otherwise it is not directly supported. If you&rsquo;d like to improve this situation, checkout the discussion .
|
||||||
Why? Hilbish emerged from the desire of a Lua configured shell.</description></item><item><title>Getting Started</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/getting-started/</guid><description>To start Hilbish, open a terminal. If Hilbish has been installed and is not the default shell, you can simply run hilbish to start it. This will launch a normal interactive session. To exit, you can either run the exit command or hit Ctrl+D.
|
Why? Hilbish emerged from the desire of a Lua configured shell.</description></item><item><title>Getting Started</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/getting-started/</guid><description>To start Hilbish, open a terminal. If Hilbish has been installed and is not the default shell, you can simply run hilbish to start it. This will launch a normal interactive session. To exit, you can either run the exit command or hit Ctrl+D.
|
||||||
Setting as Default Login shell There are a few ways to make Hilbish your default shell. A simple way is to make it your user/login shell.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/runner-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/runner-mode/</guid><description>Hilbish allows you to change how interactive text can be interpreted. This is mainly due to the fact that the default method Hilbish uses is that it runs Lua first and then falls back to shell script.
|
Setting as Default Login shell There are a few ways to make Hilbish your default shell. A simple way is to make it your user/login shell.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</guid><description>(This has mainly been replaced by hilbish.jobs ).
|
||||||
In some cases, someone might want to switch to just shell script to avoid it while interactive but still have a Lua config, or go full Lua to use Hilbish as a REPL. This also allows users to add alternative languages like Fennel as the interactive script runner.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</guid><description>This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)</description></item><item><title>Completions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</guid><description>Hilbish has a pretty good completion system. It has a nice looking menu, with 2 types of menus: grid (like file completions) or list.
|
Hilbish has pretty standard job control. It&rsquo;s 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 it&rsquo;s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
||||||
Like most parts of Hilbish, it&rsquo;s made to be extensible and customizable. The default handler for completions in general can be overwritten to provide more advanced completions if needed.
|
|
||||||
Completion Handler By default, it provides 3 things: for the first argument, binaries (with a plain name requested to complete, those in $PATH), files, or command completions.</description></item><item><title>Jobs</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</guid><description>Hilbish has pretty standard job control. It&rsquo;s 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 it&rsquo;s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
|
||||||
Job Interface The job interface refers to hilbish.jobs.
|
Job Interface The job interface refers to hilbish.jobs.
|
||||||
Functions (Note that in the list here, they&rsquo;re called from hilbish.jobs, so a listing of foo would mean hilbish.</description></item></channel></rss>
|
Functions (Note that in the list here, they&rsquo;re called from hilbish.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</guid><description>This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)</description></item><item><title>Completions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</guid><description>Completions for commands can be created with the hilbish.complete function. See the link for how to use it.
|
||||||
|
To create completions for a command is simple. The callback will be passed 3 parameters:
|
||||||
|
query (string): The text that the user is currently trying to complete. This should be used to match entries. ctx (string): Contains the entire line. Use this if more text is needed to be parsed for context. fields (string): The ctx split up by spaces.</description></item></channel></rss>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -18,8 +18,10 @@ Adding the return types for all functions that need them Documenting Hilbish typ
|
||||||
This is a big 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&rsquo;s see what is in this release.
|
This is a big 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&rsquo;s see what is in this release.
|
||||||
Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/job/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/job/</guid><description>Note: job refers to a job object. You can check doc jobs for more detail.
|
Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/job/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/job/</guid><description>Note: job refers to a job object. You can check doc jobs for more detail.
|
||||||
job.start -&gt; job &gt; Thrown when a new background job starts.
|
job.start -&gt; job &gt; Thrown when a new background job starts.
|
||||||
job.done -&gt; job &gt; Thrown when a background jobs exits.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/runner-mode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/runner-mode/</guid><description>Hilbish allows you to change how interactive text can be interpreted. This is mainly due to the fact that the default method Hilbish uses is that it runs Lua first and then falls back to shell script.
|
job.done -&gt; job &gt; Thrown when a background jobs exits.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</guid><description>(This has mainly been replaced by hilbish.jobs ).
|
||||||
In some cases, someone might want to switch to just shell script to avoid it while interactive but still have a Lua config, or go full Lua to use Hilbish as a REPL. This also allows users to add alternative languages like Fennel as the interactive script runner.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</guid><description>This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)</description></item><item><title>Command</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/command/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/command/</guid><description>command.preexec Thrown right before a command is executed.
|
Hilbish has pretty standard job control. It&rsquo;s 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 it&rsquo;s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
||||||
|
Job Interface The job interface refers to hilbish.jobs.
|
||||||
|
Functions (Note that in the list here, they&rsquo;re called from hilbish.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/timers/</guid><description>This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)</description></item><item><title>Command</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/command/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/command/</guid><description>command.preexec Thrown right before a command is executed.
|
||||||
Variables string input
|
Variables string input
|
||||||
The raw string that the user typed. This will include the text without changes applied to it (argument substitution, alias expansion, etc.)
|
The raw string that the user typed. This will include the text without changes applied to it (argument substitution, alias expansion, etc.)
|
||||||
string cmdStr
|
string cmdStr
|
||||||
|
@ -28,18 +30,16 @@ command.exit Thrown after the user&rsquo;s ran command is finished.
|
||||||
Variables number code
|
Variables number code
|
||||||
The exit code of what was executed.
|
The exit code of what was executed.
|
||||||
string cmdStr
|
string cmdStr
|
||||||
The command or code that was executed</description></item><item><title>Completions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</guid><description>Hilbish has a pretty good completion system. It has a nice looking menu, with 2 types of menus: grid (like file completions) or list.
|
The command or code that was executed</description></item><item><title>Completions</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/completions/</guid><description>Completions for commands can be created with the hilbish.complete function. See the link for how to use it.
|
||||||
Like most parts of Hilbish, it&rsquo;s made to be extensible and customizable. The default handler for completions in general can be overwritten to provide more advanced completions if needed.
|
To create completions for a command is simple. The callback will be passed 3 parameters:
|
||||||
Completion Handler By default, it provides 3 things: for the first argument, binaries (with a plain name requested to complete, those in $PATH), files, or command completions.</description></item><item><title>Hilbish</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/hilbish/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/hilbish/</guid><description>hilbish.exit Sent when Hilbish is going to exit.
|
query (string): The text that the user is currently trying to complete. This should be used to match entries. ctx (string): Contains the entire line. Use this if more text is needed to be parsed for context. fields (string): The ctx split up by spaces.</description></item><item><title>Hilbish</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/hilbish/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/hooks/hilbish/</guid><description>hilbish.exit Sent when Hilbish is going to exit.
|
||||||
Variables This signal returns no variables.
|
Variables This signal returns no variables.
|
||||||
hilbish.vimMode Sent when the Vim mode of Hilbish is changed (like from insert to normal mode). This can be used to change the prompt and notify based on Vim mode.
|
hilbish.vimMode Sent when the Vim mode of Hilbish is changed (like from insert to normal mode). This can be used to change the prompt and notify based on Vim mode.
|
||||||
Variables string modeName
|
Variables string modeName
|
||||||
The mode that has been set. Can be these values: insert, normal, delete or replace
|
The mode that has been set. Can be these values: insert, normal, delete or replace
|
||||||
hilbish.cancel Sent when the user cancels their command input with Ctrl-C</description></item><item><title>Install</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/install/</guid><description>Official Binaries The best way to get Hilbish is to get a build directly from GitHub. At any time, there are 2 versions of Hilbish recommended for download: the latest stable release, and development builds from the master branch.
|
hilbish.cancel Sent when the user cancels their command input with Ctrl-C</description></item><item><title>Install</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/install/</guid><description>Official Binaries The best way to get Hilbish is to get a build directly from GitHub. At any time, there are 2 versions of Hilbish recommended for download: the latest stable release, and development builds from the master branch.
|
||||||
You can download both at any time, but note that the development builds may have breaking changes.
|
You can download both at any time, but note that the development builds may have breaking changes.
|
||||||
For the latest stable release, check here: https://github.com/Rosettea/Hilbish/releases/latest For a development build: https://nightly.link/Rosettea/Hilbish/workflows/build/master Compiling To read the steps for compiling Hilbish, head over to the GitHub repository.</description></item><item><title>Jobs</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/jobs/</guid><description>Hilbish has pretty standard job control. It&rsquo;s 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 it&rsquo;s in Lua. You can add jobs, stop and delete (disown) them and even get output.
|
For the latest stable release, check here: https://github.com/Rosettea/Hilbish/releases/latest For a development build: https://nightly.link/Rosettea/Hilbish/workflows/build/master Compiling To read the steps for compiling Hilbish, head over to the GitHub repository.</description></item><item><title>Module bait</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/bait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/bait/</guid><description>Introduction Bait is the event emitter for Hilbish. Much like Node.js and its events system, many actions in Hilbish emit events. Unlike Node.js, Hilbish events are global. So make sure to pick a unique name!
|
||||||
Job Interface The job interface refers to hilbish.jobs.
|
|
||||||
Functions (Note that in the list here, they&rsquo;re called from hilbish.jobs, so a listing of foo would mean hilbish.</description></item><item><title>Module bait</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/bait/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/bait/</guid><description>Introduction Bait is the event emitter for Hilbish. Much like Node.js and its events system, many actions in Hilbish emit events. Unlike Node.js, Hilbish events are global. So make sure to pick a unique name!
|
|
||||||
Usage of the Bait module consists of userstanding event-driven architecture, but it&rsquo;s pretty simple: If you want to act on a certain event, you can catch it. You can act on events via callback functions.</description></item><item><title>Module commander</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/commander/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/commander/</guid><description>Introduction Commander is the library which handles Hilbish commands. This makes the user able to add Lua-written commands to their shell without making a separate script in a bin folder. Instead, you may simply use the Commander library in your Hilbish config.
|
Usage of the Bait module consists of userstanding event-driven architecture, but it&rsquo;s pretty simple: If you want to act on a certain event, you can catch it. You can act on events via callback functions.</description></item><item><title>Module commander</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/commander/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/commander/</guid><description>Introduction Commander is the library which handles Hilbish commands. This makes the user able to add Lua-written commands to their shell without making a separate script in a bin folder. Instead, you may simply use the Commander library in your Hilbish config.
|
||||||
1local commander = require &#39;commander&#39; 2 3commander.register(&#39;hello&#39;, function(args, sinks) 4 sinks.out:writeln &#39;Hello world!&#39; 5end) In this example, a command with the name of hello is created that will print Hello world!</description></item><item><title>Module dirs</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/nature/dirs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/nature/dirs/</guid><description>dirs.setOld(d) Sets the old directory string.
|
1local commander = require &#39;commander&#39; 2 3commander.register(&#39;hello&#39;, function(args, sinks) 4 sinks.out:writeln &#39;Hello world!&#39; 5end) In this example, a command with the name of hello is created that will print Hello world!</description></item><item><title>Module dirs</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/nature/dirs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/nature/dirs/</guid><description>dirs.setOld(d) Sets the old directory string.
|
||||||
Parameters d string
|
Parameters d string
|
||||||
|
@ -60,7 +60,8 @@ Jobs are the name of background tasks/commands. A job can be started via interac
|
||||||
Functions add(cmdstr, args, execPath) Creates a new job. This function does not run the job. This function is intended to be all() -&gt; table[@Job] Returns a table of all job objects. disown(id) Disowns a job. This simply deletes it from the list of jobs without stopping it.</description></item><item><title>Module hilbish.module</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</guid><description>Introduction The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin ) that are used to add functionality to Hilbish that cannot be written in Lua for any reason.
|
Functions add(cmdstr, args, execPath) Creates a new job. This function does not run the job. This function is intended to be all() -&gt; table[@Job] Returns a table of all job objects. disown(id) Disowns a job. This simply deletes it from the list of jobs without stopping it.</description></item><item><title>Module hilbish.module</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.module/</guid><description>Introduction The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin ) that are used to add functionality to Hilbish that cannot be written in Lua for any reason.
|
||||||
Note that you don&rsquo;t ever need to use the load function that is here as modules can be loaded with a require call like Lua C modules, and the search paths can be changed with the paths property here.</description></item><item><title>Module hilbish.os</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</guid><description> Introduction Provides simple text information properties about the current operating system. This mainly includes the name and version.
|
Note that you don&rsquo;t ever need to use the load function that is here as modules can be loaded with a require call like Lua C modules, and the search paths can be changed with the paths property here.</description></item><item><title>Module hilbish.os</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.os/</guid><description> Introduction Provides simple text information properties about the current operating system. This mainly includes the name and version.
|
||||||
Static module fields family Family name of the current OS name Pretty name of the current OS version Version of the current OS</description></item><item><title>Module hilbish.runner</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</guid><description>Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel.
|
Static module fields family Family name of the current OS name Pretty name of the current OS version Version of the current OS</description></item><item><title>Module hilbish.runner</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.runner/</guid><description>Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel.
|
||||||
Functions setMode(cb) This is the same as the hilbish.runnerMode function. lua(cmd) Evaluates cmd as Lua input. This is the same as using dofile sh(cmd) Runs a command in Hilbish&rsquo;s shell script interpreter.</description></item><item><title>Module hilbish.timers</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</guid><description>Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts.
|
Runners are functions that evaluate user input. The default runners in Hilbish can run shell script and Lua code.
|
||||||
|
A runner is passed the input and has to return a table with these values.</description></item><item><title>Module hilbish.timers</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.timers/</guid><description>Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts.
|
||||||
These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish, or Module hilbish on the Website).
|
These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish, or Module hilbish on the Website).
|
||||||
An example of usage:
|
An example of usage:
|
||||||
1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print &#39;hello!</description></item><item><title>Module hilbish.userDir</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</guid><description> Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data.
|
1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print &#39;hello!</description></item><item><title>Module hilbish.userDir</title><link>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/versions/doc-improvements/docs/api/hilbish/hilbish.userdir/</guid><description> Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data.
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue