Hilbish is configured and scripted in the Lua programming language.
This removes all the old, ugly things about Shell script and introduces
diff --git a/versions/comp-cache/index.xml b/versions/comp-cache/index.xml
index 21c3014..c207c70 100644
--- a/versions/comp-cache/index.xml
+++ b/versions/comp-cache/index.xml
@@ -18,12 +18,15 @@ For the latest stable release, check here: https://github.com/Rosettea/Hilbish/r
Functions add(alias, cmd) This is an alias (ha) for the hilbish.alias function.
delete(name) Removes an alias.
list() -> table<string, string> Get a table of all aliases, with string keys as the alias and the value as the command.
-resolve(alias) -> command (string) Tries to resolve an alias to its command.- Interface hilbish.completionshttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completions/Introduction The completions interface deals with tab completions.
+resolve(alias) -> command (string) Tries to resolve an alias to its command.
- Interface hilbish.completionhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completion/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completion/Introduction The completions interface deals with tab completions.
+Functions call(name, query, ctx, fields) -> completionGroups (table), prefix (string) 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.
+handler(line, pos) The handler function is the callback for tab completion in Hilbish. You can check the completions doc for more info.
- Interface hilbish.completionshttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.completions/Introduction The completions interface deals with tab completions.
Functions call(name, query, ctx, fields) -> completionGroups (table), prefix (string) 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.
handler(line, pos) The handler function is the callback for tab completion in Hilbish. You can check the completions doc for more info.
- Interface hilbish.editorhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.editor/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.editor/Introduction The hilbish.editor interface provides functions to directly interact with the line editor in use.
Functions getLine() -> string Returns the current input line.
getVimRegister(register) -> string Returns the text that is at the register.
insert(text) Inserts text into the line.
+getChar() -> string Reads a keystroke from the user. This is in a format of something like Ctrl-L..
setVimRegister(register, text) Sets the vim register at register to hold the passed text.
- Interface hilbish.historyhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.history/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.history/Introduction The history interface deals with command history. This includes the ability to override functions to change the main method of saving history.
Functions add(cmd) Adds a command to the history.
all() -> table Retrieves all history.
@@ -33,7 +36,8 @@ size() -> number Returns the amount of commands in the history.
- Interface hilbish.oshttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.os/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.os/ Introduction The os interface provides simple text information properties about the current OS on the systen. This mainly includes the name and version.
+disown(id) Disowns a job. This deletes it from the job table.
- Interface hilbish.modulehttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.module/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.module/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’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.
- Interface hilbish.oshttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.os/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.os/ Introduction The os interface provides simple text information properties about the current OS on the systen. This mainly includes the name and version.
Interface fields family: Family name of the current OS name: Pretty name of the current OS version: Version of the current OS
- Interface hilbish.runnerhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.runner/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.runner/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. It takes a callback, which will be used to execute all interactive input.
- Interface hilbish.timershttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.timers/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.timers/Introduction 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 accessible with doc hilbish). But if you want slightly more control over them, there is the hilbish.timers interface. It allows you to get a timer via ID and control them.
- Interface hilbish.userDirhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/api/hilbish/hilbish.userdir/ Introduction 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.
@@ -50,4 +54,4 @@ setRaw() Puts the terminal in raw mode
size() Gets the dimensions of the terminal. Returns a table with width and height Note: this is not the size in relation to the dimensions of the display
- Notificationhttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/features/notifications/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/features/notifications/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 message text: Message text/body channel: The source of the message. This should be a unique and easily readable text identifier.
- Runner Modehttps://rosettea.github.io/Hilbish/versions/comp-cache/docs/features/runner-mode/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/docs/features/runner-mode/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 Hilbish as a REPL. This also allows users to add alternative languages, instead of either like Fennel.
- Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/versions/comp-cache/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/blog/welcome/Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development).
\ No newline at end of file
+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.- Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/versions/comp-cache/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/comp-cache/blog/welcome/Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development).
\ No newline at end of file
diff --git a/versions/comp-cache/install/index.html b/versions/comp-cache/install/index.html
index ea1d47e..1c22065 100644
--- a/versions/comp-cache/install/index.html
+++ b/versions/comp-cache/install/index.html
@@ -1,6 +1,6 @@
-
Install — Hilbish
-