Something Unique.
🌺 Hilbish is the new Moon-powered interactive shell for Lua fans!
Extensible, scriptable, configurable: All in Lua. ✨
diff --git a/docs/api/bait/index.html b/docs/api/bait/index.html index 0fd459f..db8c285 100644 --- a/docs/api/bait/index.html +++ b/docs/api/bait/index.html @@ -1,7 +1,7 @@
the event emitter
the event emitter
Bait is the event emitter for Hilbish. Why name it bait? Why not. It throws hooks that you can catch. This is what you will use if you want to listen in on hooks to know when certain things have diff --git a/docs/api/commander/index.html b/docs/api/commander/index.html index 303cc6e..57e3e69 100644 --- a/docs/api/commander/index.html +++ b/docs/api/commander/index.html @@ -1,7 +1,7 @@
library for custom commands
library for custom commands
Commander is a library for writing custom commands in Lua. In order to make it easier to write commands for Hilbish, not require separate scripts and to be able to use in a config, diff --git a/docs/api/fs/index.html b/docs/api/fs/index.html index 92f7379..01e579c 100644 --- a/docs/api/fs/index.html +++ b/docs/api/fs/index.html @@ -1,7 +1,7 @@
filesystem interaction and functionality library
filesystem interaction and functionality library
The fs module provides easy and simple access to filesystem functions and other things, and acts an addition to the Lua standard library’s I/O and filesystem functions.
command aliasing
command aliasing
The alias interface deals with all command aliases in Hilbish.
This is an alias (ha) for the hilbish.alias
function.
tab completions
The completions interface deals with tab completions.
Calls a completer function. This is mainly used to call
+a command completer, which will have a name
in the form
+of command.name
, example: command.git
.
+You can check doc completions
for info on the completionGroups
return value.
The handler function is the callback for tab completion in Hilbish. +You can check the completions doc for more info.
Returns binary/executale completion candidates based on the provided query.
Returns file completion candidates based on the provided query.
tab completions
tab completions
The completions interface deals with tab completions.
Calls a completer function. This is mainly used to call diff --git a/docs/api/hilbish/hilbish.editor/index.html b/docs/api/hilbish/hilbish.editor/index.html index 6a49244..caea343 100644 --- a/docs/api/hilbish/hilbish.editor/index.html +++ b/docs/api/hilbish/hilbish.editor/index.html @@ -1,7 +1,7 @@
interactions for Hilbish's line reader
interactions for Hilbish's line reader
The hilbish.editor interface provides functions to directly interact with the line editor in use.
command history
command history
The history interface deals with command history. This includes the ability to override functions to change the main method of saving history.
background job management
background job management
Manage interactive jobs in Hilbish via Lua.
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.
native module loading
native module loading
The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin diff --git a/docs/api/hilbish/hilbish.os/index.html b/docs/api/hilbish/hilbish.os/index.html index 882cfc5..69e4fe0 100644 --- a/docs/api/hilbish/hilbish.os/index.html +++ b/docs/api/hilbish/hilbish.os/index.html @@ -1,7 +1,7 @@
OS Info
OS Info
The os
interface provides simple text information properties about
the current OS on the systen. This mainly includes the name and
version.
interactive command runner customization
interactive command runner customization
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 diff --git a/docs/api/hilbish/hilbish.timers/index.html b/docs/api/hilbish/hilbish.timers/index.html index 89adc94..cf4d9f0 100644 --- a/docs/api/hilbish/hilbish.timers/index.html +++ b/docs/api/hilbish/hilbish.timers/index.html @@ -1,7 +1,7 @@
timeout and interval API
timeout and interval API
If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don’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
diff --git a/docs/api/hilbish/hilbish.userdir/index.html b/docs/api/hilbish/hilbish.userdir/index.html
index e25c27c..2fad8fc 100644
--- a/docs/api/hilbish/hilbish.userdir/index.html
+++ b/docs/api/hilbish/hilbish.userdir/index.html
@@ -1,7 +1,7 @@
user-related directories
user-related directories
This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user’s preferred directories for configs and data.
the core Hilbish API
the core Hilbish API
The Hilbish module includes the core API, containing interfaces and functions which directly relate to shell functionality.
ver
: The version of HilbishgoVersion
: The version of Go that Hilbish was compiled withuser
: Username of the userhost
: Hostname of the machinedataDir
: Directory for Hilbish data files, including the docs and default modulesinteractive
: Is Hilbish in an interactive shell?login
: Is Hilbish the login shell?vimMode
: Current Vim input mode of Hilbish (will be nil if not in Vim input mode)exitCode
: xit code of the last executed commandWelcome to the API documentation for Hilbish. This documents Lua functions +
Welcome to the API documentation for Hilbish. This documents Lua functions provided by Hilbish.
low level terminal library
low level terminal library
The terminal library is a simple and lower level library for certain terminal interactions.
Restores the last saved state of the terminal
Last updated Dec 20, 2022
Last updated Dec 20, 2022
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’s main goal, but ….)
Last updated Apr 14, 2023
Hilbish has a wide range of features to enhance the user’s experience +
Last updated Apr 14, 2023
Hilbish has a wide range of features to enhance the user’s experience new ones are always being added. If there is something missing here or something you would like to see, please start a discussion or comment on any existing ones which match your request.
Last updated Jul 10, 2023
Get notified of shell actions.
Hilbish features a simple notification system which can be +
Last updated Jul 10, 2023
Get notified of shell actions.
Hilbish features a simple notification system which can be
used by other plugins and parts of the shell to notify the user
of various actions. This is used via the hilbish.message
interface.
A message
is defined as a table with the following properties:
icon
: A unicode/emoji icon for the notification.title
: The title of the messagetext
: Message text/bodychannel
: The source of the message. This should be a
unique and easily readable text identifier.summary
: A short summary of the notification and message.
diff --git a/docs/features/runner-mode/index.html b/docs/features/runner-mode/index.html
index f3dc7e8..e178851 100644
--- a/docs/features/runner-mode/index.html
+++ b/docs/features/runner-mode/index.html
@@ -1,7 +1,7 @@
Last updated Sep 28, 2023
Customize the interactive script/command runner.
Hilbish allows you to change how interactive text can be interpreted. +
Last updated Sep 28, 2023
Customize the interactive script/command runner.
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.
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 diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index 97794fc..a2b4439 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -3,7 +3,7 @@ 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." property="og:description">
Last updated Apr 14, 2023
To start Hilbish, open a terminal. If Hilbish has been installed and is not the +
Last updated Apr 14, 2023
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.
Last updated Dec 20, 2022
Hilbish is a hyper-extensible shell mainly intended for interactive use. +
Last updated Dec 20, 2022
Hilbish is a hyper-extensible shell mainly intended for interactive use. To enhance the interactive experience, Hilbish comes with a wide range of features and sane defaults, including a nice looking prompt, advanced completion menus and history search.
Here documents some of the features of Hilbish and the Lua API.
🌺 Hilbish is the new Moon-powered interactive shell for Lua fans!
Extensible, scriptable, configurable: All in Lua. ✨