diff --git a/docs/api/bait/index.html b/docs/api/bait/index.html index 606a6e0..e1623b7 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 f648490..ee2ffc5 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 78fb16f..f828ef2 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
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 9421b72..0200b83 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.
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 5b127dc..487ff5e 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 309be21..54ad4e3 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 Hilbishuser
: 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
+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.
+If this is not present and you are using this to display messages,
+you should take part of the text
instead.The hilbish.message
interface provides the following functions:
send(message)
: Sends a message and emits the hilbish.notification
+signal. DO NOT emit the hilbish.notification
signal directly, or
+the message will not be stored by the message handler.read(idx)
: Marks message at idx
as read.delete(idx)
: Removes message at idx
.readAll()
: Marks all messages as read.clear()
: Deletes all messages.There are a few simple use cases of this notification/messaging system. +It could also be used as some “inter-shell” messaging system (???) but +is intended to display to users.
An example is notifying users of completed jobs/commands ran in the background. +Any Hilbish-native command (think the upcoming Greenhouse pager) can display +it.
Last updated Apr 14, 2023
Customize the interactive script/command runner.
Hilbish allows you to change how interactive text can be interpreted. +
Last updated Apr 14, 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 245c213..b663bb2 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 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." name=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.