From dc57b655dacda42e29b7e07aa669cd3395147d08 Mon Sep 17 00:00:00 2001 From: TorchedSammy Date: Fri, 3 May 2024 16:47:40 +0000 Subject: [PATCH] deploy: bbd5637e9bd484ee161aa0930c654478e1d82391 --- 404.html | 8 +- blog/improving-this-website/index.html | 10 +-- blog/index.html | 8 +- blog/index.xml | 2 +- blog/v2.0-release/index.html | 10 +-- blog/v2.1-release/index.html | 10 +-- blog/v2.1.1-release/index.html | 10 +-- blog/v2.1.2-release/index.html | 10 +-- blog/v2.2-release/index.html | 10 +-- blog/welcome/index.html | 8 +- categories/index.html | 8 +- categories/index.xml | 2 +- docs/api/bait/index.html | 6 +- docs/api/commander/index.html | 19 +++-- docs/api/fs/index.html | 20 ++--- docs/api/hilbish/hilbish.aliases/index.html | 6 +- .../api/hilbish/hilbish.completion/index.html | 6 +- docs/api/hilbish/hilbish.editor/index.html | 6 +- docs/api/hilbish/hilbish.history/index.html | 6 +- docs/api/hilbish/hilbish.jobs/index.html | 6 +- docs/api/hilbish/hilbish.module/index.html | 6 +- docs/api/hilbish/hilbish.os/index.html | 6 +- docs/api/hilbish/hilbish.runner/index.html | 6 +- docs/api/hilbish/hilbish.timers/index.html | 6 +- docs/api/hilbish/hilbish.userdir/index.html | 6 +- docs/api/hilbish/index.html | 29 ++++++-- docs/api/hilbish/index.xml | 2 +- docs/api/index.html | 6 +- docs/api/index.xml | 2 +- docs/api/terminal/index.html | 6 +- docs/completions/index.html | 6 +- docs/faq/index.html | 8 +- docs/features/index.html | 6 +- docs/features/notifications/index.html | 6 +- docs/features/opts/index.html | 22 +++--- docs/features/runner-mode/index.html | 6 +- docs/getting-started/index.html | 8 +- docs/hooks/command/index.html | 8 +- docs/hooks/hilbish/index.html | 8 +- docs/hooks/index.html | 6 +- docs/hooks/job/index.html | 8 +- docs/hooks/signal/index.html | 8 +- docs/index.html | 8 +- docs/jobs/index.html | 8 +- docs/lunacolors/index.html | 8 +- docs/nature/dirs/index.html | 6 +- docs/nature/index.html | 8 +- docs/timers/index.html | 6 +- docs/vim-mode/actions/index.html | 8 +- docs/vim-mode/index.html | 8 +- index.html | 8 +- index.xml | 74 ++++++++++++++++++- install/index.html | 8 +- sitemap.xml | 2 +- tags/index.html | 8 +- tags/index.xml | 2 +- 56 files changed, 299 insertions(+), 209 deletions(-) diff --git a/404.html b/404.html index fc207ac..313b15e 100644 --- a/404.html +++ b/404.html @@ -1,4 +1,4 @@ -404 Page not found — Hilbish -

Go Home

\ No newline at end of file +404 Page not found — Hilbish +

Go Home

\ No newline at end of file diff --git a/blog/improving-this-website/index.html b/blog/improving-this-website/index.html index 4fa0720..8700cb1 100644 --- a/blog/improving-this-website/index.html +++ b/blog/improving-this-website/index.html @@ -1,11 +1,11 @@ -Improving Hilbish's Branding — Hilbish -

Improving Hilbish's Branding

+Logo Hilbish’s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo)." name=description> +

Improving Hilbish's Branding

by sammyette

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st).

I decided to fix up this website and Hilbish’s logo, so that can diff --git a/blog/index.html b/blog/index.html index 4284ee8..964da0f 100644 --- a/blog/index.html +++ b/blog/index.html @@ -1,7 +1,7 @@ -Blogs — Hilbish -

v2.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. +Blogs — Hilbish +

v2.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes! Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES.

Improving Hilbish's Branding

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? diff --git a/blog/index.xml b/blog/index.xml index fbe095f..09d6c90 100644 --- a/blog/index.xml +++ b/blog/index.xml @@ -1,4 +1,4 @@ -Blogs on Hilbishhttps://rosettea.github.io/Hilbish/blog/Recent content in Blogs on HilbishHugoen-usTue, 26 Dec 2023 00:13:50 -0400v2.2 Releasehttps://rosettea.github.io/Hilbish/blog/v2.2-release/Mon, 25 Dec 2023 23:56:36 -0400https://rosettea.github.io/Hilbish/blog/v2.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. +Blogs on Hilbishhttps://rosettea.github.io/Hilbish/blog/Recent content in Blogs on HilbishHugo -- gohugo.ioen-usMon, 25 Dec 2023 23:56:36 -0400v2.2 Releasehttps://rosettea.github.io/Hilbish/blog/v2.2-release/Mon, 25 Dec 2023 23:56:36 -0400https://rosettea.github.io/Hilbish/blog/v2.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes! Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES.Improving Hilbish's Brandinghttps://rosettea.github.io/Hilbish/blog/improving-this-website/Thu, 13 Apr 2023 22:15:31 -0400https://rosettea.github.io/Hilbish/blog/improving-this-website/Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? diff --git a/blog/v2.0-release/index.html b/blog/v2.0-release/index.html index b8fca2d..bf5f301 100644 --- a/blog/v2.0-release/index.html +++ b/blog/v2.0-release/index.html @@ -1,11 +1,11 @@ -Hilbish v2.0 Release — Hilbish -

Hilbish v2.0 Release

+Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation." name=description> +

Hilbish v2.0 Release

by sammyette

Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that.

This is a big release, coming 9 months after the previous v1.2.0 and diff --git a/blog/v2.1-release/index.html b/blog/v2.1-release/index.html index d7bb559..dbc74ad 100644 --- a/blog/v2.1-release/index.html +++ b/blog/v2.1-release/index.html @@ -1,13 +1,13 @@ -v2.1 Release — Hilbish -

v2.1 Release

+Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly." name=description> +

v2.1 Release

by sammyette

The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag.

Oh look! A new release of Hilbish! This time is the v2.1 release, diff --git a/blog/v2.1.1-release/index.html b/blog/v2.1.1-release/index.html index 3fd3ef1..bd317c3 100644 --- a/blog/v2.1.1-release/index.html +++ b/blog/v2.1.1-release/index.html @@ -1,11 +1,11 @@ -v2.1.1 Release — Hilbish -

v2.1.1 Release

+Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands." name=description> +

v2.1.1 Release

by sammyette

The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag.

Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting diff --git a/blog/v2.1.2-release/index.html b/blog/v2.1.2-release/index.html index 5827362..34a25e9 100644 --- a/blog/v2.1.2-release/index.html +++ b/blog/v2.1.2-release/index.html @@ -1,11 +1,11 @@ -v2.1.2 Release — Hilbish -

v2.1.2 Release

+A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!" name=description> +

v2.1.2 Release

by sammyette

The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag.

This release reverts the April Fool’s code additions in v2.1.1. It is diff --git a/blog/v2.2-release/index.html b/blog/v2.2-release/index.html index dbd99a5..b987d39 100644 --- a/blog/v2.2-release/index.html +++ b/blog/v2.2-release/index.html @@ -1,11 +1,11 @@ -v2.2 Release — Hilbish -

v2.2 Release

+Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES." name=description> +

v2.2 Release

by sammyette

The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag.

Welcome to a very long awaited release of Hilbish, and on Christmas. Just think diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 542b6df..6643c0a 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -1,6 +1,6 @@ -Welcome to the Hilbish blog — Hilbish -

Welcome to the Hilbish blog

+Welcome to the Hilbish blog — Hilbish +

Welcome to the Hilbish blog

by sammyette

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/categories/index.html b/categories/index.html index 5344218..cb48950 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,7 +1,7 @@ -Categories — Hilbish -
v2.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. +Categories — Hilbish +

v2.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes! Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES.

Improving Hilbish's Branding

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? diff --git a/categories/index.xml b/categories/index.xml index 67505ce..553ec15 100644 --- a/categories/index.xml +++ b/categories/index.xml @@ -1 +1 @@ -Categories on Hilbishhttps://rosettea.github.io/Hilbish/categories/Recent content in Categories on HilbishHugoen-us \ No newline at end of file +Categories on Hilbishhttps://rosettea.github.io/Hilbish/categories/Recent content in Categories on HilbishHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/docs/api/bait/index.html b/docs/api/bait/index.html index 31810a4..a2d59a5 100644 --- a/docs/api/bait/index.html +++ b/docs/api/bait/index.html @@ -1,6 +1,6 @@ -Module bait — Hilbish -

Module bait

the event emitter

Introduction

Bait is the event emitter for Hilbish. Much like Node.js and its events system, many actions in Hilbish emit events. diff --git a/docs/api/commander/index.html b/docs/api/commander/index.html index a896e81..51b5247 100644 --- a/docs/api/commander/index.html +++ b/docs/api/commander/index.html @@ -1,6 +1,6 @@ -Module commander — Hilbish -

Module commander

library for custom commands

Introduction

Commander is the library which handles Hilbish commands. This makes the user able to add Lua-written commands to their shell without making @@ -12,12 +12,15 @@ library in your Hilbish config.

5end)
 

In this example, a command with the name of hello is created that will print Hello world! to output. One question you may -have is: What is the sinks parameter?

The sinks parameter is a table with 3 keys: in, out, -and err. All of them are a Sink.

  • in is the standard input. +have is: What is the sinks parameter?

    The sinks parameter is a table with 3 keys: input, out, and err. +There is an in alias to input, but it requires using the string accessor syntax (sinks['in']) +as in is also a Lua keyword, so input is preferred for use. +All of them are a Sink. +In the future, sinks.in will be removed.

    • in is the standard input. You may use the read functions on this sink to get input from the user.
    • out is standard output. This is usually where command output should go.
    • err is standard error. This sink is for writing errors, as the name would suggest.

    Functions -

    deregister(name)Removes the named command. Note that this will only remove Commander-registered commands.
    register(name, cb)Adds a new command with the given name. When Hilbish has to run a command with a name,

    commander.deregister(name) +

    deregister(name)Removes the named command. Note that this will only remove Commander-registered commands.
    register(name, cb)Adds a new command with the given name. When Hilbish has to run a command with a name,
    registry() -> tableReturns all registered commanders. Returns a list of tables with the following keys:

    commander.deregister(name)

    Removes the named command. Note that this will only remove Commander-registered commands.

    Parameters

    string name
    Name of the command to remove.


    commander.register(name, cb)

    Adds a new command with the given name. When Hilbish has to run a command with a name,
    it will run the function providing the arguments and sinks.

    Parameters @@ -30,4 +33,6 @@ This sink is for writing errors, as the name would suggest.

6 7 sinks.out:writeln('Hello ' .. name) 8end) -

\ No newline at end of file +

commander.registry() -> table +

Returns all registered commanders. Returns a list of tables with the following keys:

  • exec: The function used to run the commander. Commanders require args and sinks to be passed.
Parameters +

This function has no parameters.

\ No newline at end of file diff --git a/docs/api/fs/index.html b/docs/api/fs/index.html index 9d2685a..b3c932d 100644 --- a/docs/api/fs/index.html +++ b/docs/api/fs/index.html @@ -1,11 +1,11 @@ -Module fs — Hilbish -

Module fs

filesystem interaction and functionality library

Introduction

The fs module provides filesystem functions to Hilbish. While Lua’s standard library has some I/O functions, they’re missing a lot of the basics. The fs library offers more functions and will work on any operating system Hilbish does.

Functions -

abs(path) -> stringReturns an absolute version of the path.
basename(path) -> stringReturns the “basename,” or the last part of the provided path. If path is empty,
cd(dir)Changes Hilbish’s directory to dir.
dir(path) -> stringReturns the directory part of path. If a file path like
glob(pattern) -> matches (table)Match all files based on the provided pattern.
join(…path) -> stringTakes any list of paths and joins them based on the operating system’s path separator.
mkdir(name, recursive)Creates a new directory with the provided name.
readdir(path) -> table[string]Returns a list of all files and directories in the provided path.
stat(path) -> {}Returns the information about a given path.

Static module fields +

abs(path) -> stringReturns an absolute version of the path.
basename(path) -> stringReturns the “basename,” or the last part of the provided path. If path is empty,
cd(dir)Changes Hilbish’s directory to dir.
dir(path) -> stringReturns the directory part of path. If a file path like
glob(pattern) -> matches (table)Match all files based on the provided pattern.
join(…path) -> stringTakes any list of paths and joins them based on the operating system’s path separator.
mkdir(name, recursive)Creates a new directory with the provided name.
fpipe() -> File, FileReturns a pair of connected files, also known as a pipe.
readdir(path) -> table[string]Returns a list of all files and directories in the provided path.
stat(path) -> {}Returns the information about a given path.

Static module fields

pathSepThe operating system’s path separator.

fs.abs(path) -> string

Returns an absolute version of the path.
This can be used to resolve short paths like .. to /home/user.

Parameters

string path


fs.basename(path) -> string @@ -39,11 +39,13 @@ library offers more functions and will work on any operating system Hilbish does

1-- This will create the directory foo, then create the directory bar in the
 2-- foo directory. If recursive is false in this case, it will fail.
 3fs.mkdir('./foo/bar', true)
-

fs.readdir(path) -> table[string] -

Returns a list of all files and directories in the provided path.

Parameters -

string dir


fs.stat(path) -> {} -

Returns the information about a given path.
The returned table contains the following values:
name (string) - Name of the path
size (number) - Size of the path in bytes
mode (string) - Unix permission mode in an octal format string (with leading 0)
isDir (boolean) - If the path is a directory

Parameters -

string path

Example +

fs.fpipe() -> File, File +

Returns a pair of connected files, also known as a pipe.
The type returned is a Lua file, same as returned from io functions.

Parameters +

This function has no parameters.


fs.readdir(path) -> table[string] +

Returns a list of all files and directories in the provided path.

Parameters +

string dir


fs.stat(path) -> {} +

Returns the information about a given path.
The returned table contains the following values:
name (string) - Name of the path
size (number) - Size of the path in bytes
mode (string) - Unix permission mode in an octal format string (with leading 0)
isDir (boolean) - If the path is a directory

Parameters +

string path

Example
 1local inspect = require 'inspect'
  2
  3local stat = fs.stat '~'
diff --git a/docs/api/hilbish/hilbish.aliases/index.html b/docs/api/hilbish/hilbish.aliases/index.html
index a2de7df..dbf31dd 100644
--- a/docs/api/hilbish/hilbish.aliases/index.html
+++ b/docs/api/hilbish/hilbish.aliases/index.html
@@ -1,6 +1,6 @@
-Module hilbish.aliases — Hilbish
-

Module hilbish.aliases

command aliasing

Introduction

The alias interface deals with all command aliases in Hilbish.

Functions

add(alias, cmd)This is an alias (ha) for the hilbish.alias diff --git a/docs/api/hilbish/hilbish.completion/index.html b/docs/api/hilbish/hilbish.completion/index.html index 8624124..1699798 100644 --- a/docs/api/hilbish/hilbish.completion/index.html +++ b/docs/api/hilbish/hilbish.completion/index.html @@ -1,6 +1,6 @@ -Module hilbish.completion — Hilbish -

Module hilbish.completion

tab completions

Introduction

The completions interface deals with tab completions.

Functions

bins(query, ctx, fields) -> entries (table), prefix (string)Return binaries/executables based on the provided parameters.
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
files(query, ctx, fields) -> entries (table), prefix (string)Returns file matches based on the provided parameters.
handler(line, pos)This function contains the general completion handler for Hilbish. This function handles

hilbish.completion.bins(query, ctx, fields) -> entries (table), prefix (string) diff --git a/docs/api/hilbish/hilbish.editor/index.html b/docs/api/hilbish/hilbish.editor/index.html index 56b1087..c2c9742 100644 --- a/docs/api/hilbish/hilbish.editor/index.html +++ b/docs/api/hilbish/hilbish.editor/index.html @@ -1,6 +1,6 @@ -Module hilbish.editor — Hilbish -

Module hilbish.editor

interactions for Hilbish's line reader

Introduction

The hilbish.editor interface provides functions to directly interact with the line editor in use.

Functions diff --git a/docs/api/hilbish/hilbish.history/index.html b/docs/api/hilbish/hilbish.history/index.html index 47df011..b6e81e1 100644 --- a/docs/api/hilbish/hilbish.history/index.html +++ b/docs/api/hilbish/hilbish.history/index.html @@ -1,6 +1,6 @@ -Module hilbish.history — Hilbish -

Module hilbish.history

command history

Introduction

The history interface deals with command history. This includes the ability to override functions to change the main diff --git a/docs/api/hilbish/hilbish.jobs/index.html b/docs/api/hilbish/hilbish.jobs/index.html index 19a061e..706e55d 100644 --- a/docs/api/hilbish/hilbish.jobs/index.html +++ b/docs/api/hilbish/hilbish.jobs/index.html @@ -1,6 +1,6 @@ -Module hilbish.jobs — Hilbish -

Module hilbish.jobs

background job management

Introduction

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.

Functions diff --git a/docs/api/hilbish/hilbish.module/index.html b/docs/api/hilbish/hilbish.module/index.html index d875808..375a7cc 100644 --- a/docs/api/hilbish/hilbish.module/index.html +++ b/docs/api/hilbish/hilbish.module/index.html @@ -1,6 +1,6 @@ -Module hilbish.module — Hilbish -

Module hilbish.module

native module loading

Introduction

The hilbish.module interface provides a function to load Hilbish plugins/modules. Hilbish modules are Go-written diff --git a/docs/api/hilbish/hilbish.os/index.html b/docs/api/hilbish/hilbish.os/index.html index a1360dd..80ae454 100644 --- a/docs/api/hilbish/hilbish.os/index.html +++ b/docs/api/hilbish/hilbish.os/index.html @@ -1,6 +1,6 @@ -Module hilbish.os — Hilbish -

Module hilbish.os

operating system info

Introduction

Provides simple text information properties about the current operating system. This mainly includes the name and version.

Static module fields diff --git a/docs/api/hilbish/hilbish.runner/index.html b/docs/api/hilbish/hilbish.runner/index.html index b82426f..620835e 100644 --- a/docs/api/hilbish/hilbish.runner/index.html +++ b/docs/api/hilbish/hilbish.runner/index.html @@ -1,6 +1,6 @@ -Module hilbish.runner — Hilbish -

Module hilbish.runner

interactive command runner customization

Introduction

The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. diff --git a/docs/api/hilbish/hilbish.timers/index.html b/docs/api/hilbish/hilbish.timers/index.html index ad6e6a5..71a7fcb 100644 --- a/docs/api/hilbish/hilbish.timers/index.html +++ b/docs/api/hilbish/hilbish.timers/index.html @@ -1,6 +1,6 @@ -Module hilbish.timers — Hilbish -

Module hilbish.timers

timeout and interval API

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 diff --git a/docs/api/hilbish/hilbish.userdir/index.html b/docs/api/hilbish/hilbish.userdir/index.html index 4ca5161..2932615 100644 --- a/docs/api/hilbish/hilbish.userdir/index.html +++ b/docs/api/hilbish/hilbish.userdir/index.html @@ -1,6 +1,6 @@ -Module hilbish.userDir — Hilbish -

Module hilbish.userDir

user-related directories

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 diff --git a/docs/api/hilbish/index.html b/docs/api/hilbish/index.html index aec88d2..7dbfe13 100644 --- a/docs/api/hilbish/index.html +++ b/docs/api/hilbish/index.html @@ -1,10 +1,10 @@ -Module hilbish — Hilbish -

Module hilbish

the core Hilbish API

Introduction

The Hilbish module includes the core API, containing interfaces and functions which directly relate to shell functionality.

Functions -

alias(cmd, orig)Sets an alias, with a name of cmd to another command.
appendPath(dir)Appends the provided dir to the command path ($PATH)
complete(scope, cb)Registers a completion handler for the specified scope.
cwd() -> stringReturns the current directory of the shell.
exec(cmd)Replaces the currently running Hilbish instance with the supplied command.
goro(fn)Puts fn in a Goroutine.
highlighter(line)Line highlighter handler.
hinter(line, pos)The command line hint handler. It gets called on every key insert to
inputMode(mode)Sets the input mode for Hilbish’s line reader.
interval(cb, time) -> @TimerRuns the cb function every specified amount of time.
multiprompt(str)Changes the text prompt when Hilbish asks for more input.
prependPath(dir)Prepends dir to $PATH.
prompt(str, typ)Changes the shell prompt to the provided string.
read(prompt) -> input (string)Read input from the user, using Hilbish’s line editor/input reader.
run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string)Runs cmd in Hilbish’s shell script interpreter.
runnerMode(mode)Sets the execution/runner mode for interactive Hilbish.
timeout(cb, time) -> @TimerExecuted the cb function after a period of time.
which(name) -> stringChecks if name is a valid command.

Static module fields +

alias(cmd, orig)Sets an alias, with a name of cmd to another command.
appendPath(dir)Appends the provided dir to the command path ($PATH)
complete(scope, cb)Registers a completion handler for the specified scope.
cwd() -> stringReturns the current directory of the shell.
exec(cmd)Replaces the currently running Hilbish instance with the supplied command.
goro(fn)Puts fn in a Goroutine.
highlighter(line)Line highlighter handler.
hinter(line, pos)The command line hint handler. It gets called on every key insert to
inputMode(mode)Sets the input mode for Hilbish’s line reader.
interval(cb, time) -> @TimerRuns the cb function every specified amount of time.
multiprompt(str)Changes the text prompt when Hilbish asks for more input.
prependPath(dir)Prepends dir to $PATH.
prompt(str, typ)Changes the shell prompt to the provided string.
read(prompt) -> input (string)Read input from the user, using Hilbish’s line editor/input reader.
run(cmd, streams) -> exitCode (number), stdout (string), stderr (string)Runs cmd in Hilbish’s shell script interpreter.
runnerMode(mode)Sets the execution/runner mode for interactive Hilbish.
timeout(cb, time) -> @TimerExecuted the cb function after a period of time.
which(name) -> stringChecks if name is a valid command.

Static module fields

verThe version of Hilbish
goVersionThe version of Go that Hilbish was compiled with
userUsername of the user
hostHostname of the machine
dataDirDirectory for Hilbish data files, including the docs and default modules
interactiveIs Hilbish in an interactive shell?
loginIs Hilbish the login shell?
vimModeCurrent Vim input mode of Hilbish (will be nil if not in Vim input mode)
exitCodeExit code of the last executed command

hilbish.alias(cmd, orig)

Sets an alias, with a name of cmd to another command.

Parameters

string cmd
Name of the alias

string orig
Command that will be aliased

Example @@ -105,9 +105,24 @@ interfaces and functions which directly relate to shell functionality.

5-- prompt: user@hostname: ~/directory $


hilbish.read(prompt) -> input (string)

Read input from the user, using Hilbish’s line editor/input reader.
This is a separate instance from the one Hilbish actually uses.
Returns input, will be nil if Ctrl-D is pressed, or an error occurs.

Parameters -

string prompt?
Text to print before input, can be empty.


hilbish.run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string) -

Runs cmd in Hilbish’s shell script interpreter.

Parameters -

string cmd

boolean returnOut
If this is true, the function will return the standard output and error of the command instead of printing it.


hilbish.runnerMode(mode) +

string prompt?
Text to print before input, can be empty.


hilbish.run(cmd, streams) -> exitCode (number), stdout (string), stderr (string) +

Runs cmd in Hilbish’s shell script interpreter.
The streams parameter specifies the output and input streams the command should use.
For example, to write command output to a sink.
As a table, the caller can directly specify the standard output, error, and input
streams of the command with the table keys out, err, and input respectively.
As a boolean, it specifies whether the command should use standard output or return its output streams.

Parameters +

string cmd

table|boolean streams

Example +
 1
+ 2// This code is the same as `ls -l | wc -l`
+ 3local fs = require 'fs'
+ 4local pr, pw = fs.pipe()
+ 5hilbish.run('ls -l', {
+ 6	stdout = pw,
+ 7	stderr = pw,
+ 8})
+ 9
+10pw:close()
+11
+12hilbish.run('wc -l', {
+13	stdin = pr
+14})
+

hilbish.runnerMode(mode)

Sets the execution/runner mode for interactive Hilbish.
This determines whether Hilbish wll try to run input as Lua
and/or sh or only do one of either.
Accepted values for mode are hybrid (the default), hybridRev (sh first then Lua),
sh, and lua. It also accepts a function, to which if it is passed one
will call it to execute user input instead.
Read about runner mode for more information.

Parameters

string|function mode


hilbish.timeout(cb, time) -> Timer diff --git a/docs/api/hilbish/index.xml b/docs/api/hilbish/index.xml index 4555804..96fda6c 100644 --- a/docs/api/hilbish/index.xml +++ b/docs/api/hilbish/index.xml @@ -11,5 +11,5 @@ Runners are functions that evaluate user input. The default runners in Hilbish c A runner is passed the input and has to return a table with these values.Module hilbish.timershttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.timers/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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, or Module hilbish on the Website). An example of usage: -1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print 'hello!Module hilbish.userDirhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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. +1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print 'hello!Module hilbish.userDirhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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. Static module fields config The user’s config directory data The user’s directory for program data \ No newline at end of file diff --git a/docs/api/index.html b/docs/api/index.html index 8248f44..2be997a 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -1,5 +1,5 @@ -API — Hilbish -
\ No newline at end of file diff --git a/docs/api/index.xml b/docs/api/index.xml index 3a8aa18..854f9f1 100644 --- a/docs/api/index.xml +++ b/docs/api/index.xml @@ -1,6 +1,6 @@ API on Hilbishhttps://rosettea.github.io/Hilbish/docs/api/Recent content in API on HilbishHugo -- gohugo.ioen-usModule baithttps://rosettea.github.io/Hilbish/docs/api/bait/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/bait/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’s pretty simple: If you want to act on a certain event, you can catch it. You can act on events via callback functions.Module commanderhttps://rosettea.github.io/Hilbish/docs/api/commander/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/commander/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 'commander' 2 3commander.register('hello', function(args, sinks) 4 sinks.out:writeln 'Hello world!' 5end) In this example, a command with the name of hello is created that will print Hello world!Module fshttps://rosettea.github.io/Hilbish/docs/api/fs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/fs/Introduction The fs module provides filesystem functions to Hilbish. While Lua’s standard library has some I/O functions, they’re missing a lot of the basics. The fs library offers more functions and will work on any operating system Hilbish does. +1local commander = require 'commander' 2 3commander.register('hello', function(args, sinks) 4 sinks.out:writeln 'Hello world!' 5end) In this example, a command with the name of hello is created that will print Hello world!Module fshttps://rosettea.github.io/Hilbish/docs/api/fs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/fs/Introduction The fs module provides filesystem functions to Hilbish. While Lua’s standard library has some I/O functions, they’re missing a lot of the basics. The fs library offers more functions and will work on any operating system Hilbish does. Functions abs(path) -> string Returns an absolute version of the path. basename(path) -> string Returns the “basename,” or the last part of the provided path. If path is empty, cd(dir) Changes Hilbish’s directory to dir.Module terminalhttps://rosettea.github.io/Hilbish/docs/api/terminal/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/terminal/Introduction The terminal library is a simple and lower level library for certain terminal interactions. Functions restoreState() Restores the last saved state of the terminal saveState() Saves the current state of the terminal. setRaw() Puts the terminal into raw mode. size() Gets the dimensions of the terminal. Returns a table with width and height terminal.restoreState() Restores the last saved state of the terminal Parameters This function has no parameters. \ No newline at end of file diff --git a/docs/api/terminal/index.html b/docs/api/terminal/index.html index 59c2571..a28b8b3 100644 --- a/docs/api/terminal/index.html +++ b/docs/api/terminal/index.html @@ -1,6 +1,6 @@ -Module terminal — Hilbish -

Module terminal

low level terminal library

Introduction

The terminal library is a simple and lower level library for certain terminal interactions.

Functions

restoreState()Restores the last saved state of the terminal
saveState()Saves the current state of the terminal.
setRaw()Puts the terminal into raw mode.
size()Gets the dimensions of the terminal. Returns a table with width and height

terminal.restoreState() diff --git a/docs/completions/index.html b/docs/completions/index.html index a0a5da3..dc480ee 100644 --- a/docs/completions/index.html +++ b/docs/completions/index.html @@ -1,6 +1,6 @@ -Completions — Hilbish -

Completions

Tab completion for commands.

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. diff --git a/docs/faq/index.html b/docs/faq/index.html index 18f6bd9..6d77eaa 100644 --- a/docs/faq/index.html +++ b/docs/faq/index.html @@ -1,10 +1,10 @@ -Frequently Asked Questions — Hilbish -

    Frequently Asked Questions

    Last updated Dec 26, 2023

    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 diff --git a/docs/features/index.html b/docs/features/index.html index b4028e5..9aa3722 100644 --- a/docs/features/index.html +++ b/docs/features/index.html @@ -1,6 +1,6 @@ -Features — Hilbish -

    Features

    Last updated Dec 26, 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 diff --git a/docs/features/notifications/index.html b/docs/features/notifications/index.html index 4e4422f..8b82710 100644 --- a/docs/features/notifications/index.html +++ b/docs/features/notifications/index.html @@ -1,6 +1,6 @@ -Notification — Hilbish -

    Notification

    Last updated Dec 26, 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 message
    • text: Message text/body
    • channel: The source of the message. This should be a diff --git a/docs/features/opts/index.html b/docs/features/opts/index.html index e4f2eb5..0338521 100644 --- a/docs/features/opts/index.html +++ b/docs/features/opts/index.html @@ -1,6 +1,6 @@ -Options — Hilbish -

      Options

      Simple customizable options.

      Opts are simple toggle or value options a user can set in Hilbish. As toggles, there are things like autocd or history saving. As values, there is the motd which the user can either change to a custom string or disable.

      Opts are accessed from the hilbish.opts table. Here they can either @@ -8,14 +8,14 @@ be read or modified

      autocd

      Value: boolean
      Default: false

      The autocd opt makes it so that lone directories attempted to be executed are -instead set as the shell’s directory.

      Example:

      1~/Directory                                     
      -2 ~
      -3~                                                                             
      -4 Downloads
      -5~/Downloads                                                                   
      -6 ../Documents
      -7~/Documents                                                                   
      -8 
      +instead set as the shell’s directory.

      Example:

      1~/Directory                                     
      +2∆ ~
      +3~                                                                             
      +4∆ Downloads
      +5~/Downloads                                                                   
      +6∆ ../Documents
      +7~/Documents                                                                   
      +8

      history

      Value: boolean
      Default: true diff --git a/docs/features/runner-mode/index.html b/docs/features/runner-mode/index.html index 1919a1c..1a13ea2 100644 --- a/docs/features/runner-mode/index.html +++ b/docs/features/runner-mode/index.html @@ -1,6 +1,6 @@ -Runner Mode — Hilbish -

      Runner Mode

      Last updated Dec 26, 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 diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index c201415..f522d5f 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -1,8 +1,8 @@ -Getting Started — Hilbish -

      Getting Started

      Last updated Dec 26, 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. diff --git a/docs/hooks/command/index.html b/docs/hooks/command/index.html index 96c6a1a..f29a354 100644 --- a/docs/hooks/command/index.html +++ b/docs/hooks/command/index.html @@ -1,5 +1,4 @@ -Command — Hilbish -

      Command

      command.preexec

      Thrown right before a command is executed.

      Variables

      string input
      The raw string that the user typed. This will include the text diff --git a/docs/hooks/hilbish/index.html b/docs/hooks/hilbish/index.html index 74a70a4..2a29859 100644 --- a/docs/hooks/hilbish/index.html +++ b/docs/hooks/hilbish/index.html @@ -1,5 +1,4 @@ -Hilbish — Hilbish -

      Hilbish

      hilbish.exit

      Sent when Hilbish is going to exit.

      Variables

      This signal returns no variables.


      hilbish.vimMode diff --git a/docs/hooks/index.html b/docs/hooks/index.html index 636da6e..d555353 100644 --- a/docs/hooks/index.html +++ b/docs/hooks/index.html @@ -1,6 +1,6 @@ -Signals — Hilbish -
      \ No newline at end of file diff --git a/docs/hooks/job/index.html b/docs/hooks/job/index.html index 4284537..49e8f9e 100644 --- a/docs/hooks/job/index.html +++ b/docs/hooks/job/index.html @@ -1,10 +1,10 @@ -— Hilbish -

      by sammyette

      Note: job refers to a job object. You can check doc jobs for more detail.

      • job.start -> job > Thrown when a new background job starts.

      • job.done -> job > Thrown when a background jobs exits.

      \ No newline at end of file diff --git a/docs/hooks/signal/index.html b/docs/hooks/signal/index.html index 81822f8..42c1993 100644 --- a/docs/hooks/signal/index.html +++ b/docs/hooks/signal/index.html @@ -1,5 +1,4 @@ -Signal — Hilbish -

      Signal

      signal.sigint

      Thrown when Hilbish receive the SIGINT signal, aka when Ctrl-C is pressed.

      Variables diff --git a/docs/index.html b/docs/index.html index 30cafcd..ff6191c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,8 +1,8 @@ -Introduction — Hilbish -

      Introduction

      Last updated Dec 26, 2023

      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, diff --git a/docs/jobs/index.html b/docs/jobs/index.html index ce737a5..2f8e742 100644 --- a/docs/jobs/index.html +++ b/docs/jobs/index.html @@ -1,12 +1,12 @@ -— Hilbish -

      by sammyette

      (This has mainly been replaced by hilbish.jobs ).

      Hilbish has pretty standard job control. It’s missing one or two things, diff --git a/docs/lunacolors/index.html b/docs/lunacolors/index.html index 435015b..807c322 100644 --- a/docs/lunacolors/index.html +++ b/docs/lunacolors/index.html @@ -1,10 +1,10 @@ -Lunacolors — Hilbish -

      Lunacolors

      Lunacolors is an ANSI color/styling library for Lua. It is included by default in standard Hilbish distributions to provide easy styling for things like prompts and text.

      For simple usage, a single color or style is enough. For example, diff --git a/docs/nature/dirs/index.html b/docs/nature/dirs/index.html index 0de2783..e2499b1 100644 --- a/docs/nature/dirs/index.html +++ b/docs/nature/dirs/index.html @@ -1,6 +1,6 @@ -Module dirs — Hilbish -

      Module dirs

      No description.


      dirs.setOld(d)

      Sets the old directory string.

      Parameters

      d string


      dirs.push() diff --git a/docs/nature/index.html b/docs/nature/index.html index ce344ff..132fa90 100644 --- a/docs/nature/index.html +++ b/docs/nature/index.html @@ -1,10 +1,10 @@ -Nature — Hilbish -

      Nature

      A bit after creation, we have the outside nature. Little plants, seeds, growing to their final phase: a full plant. A lot of Hilbish itself is written in Go, but there are parts made in Lua, being most builtins diff --git a/docs/timers/index.html b/docs/timers/index.html index b0238c4..ab093a2 100644 --- a/docs/timers/index.html +++ b/docs/timers/index.html @@ -1,5 +1,5 @@ -— Hilbish -

      by sammyette

      This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)

      \ No newline at end of file diff --git a/docs/vim-mode/actions/index.html b/docs/vim-mode/actions/index.html index 111a1e7..020dbfe 100644 --- a/docs/vim-mode/actions/index.html +++ b/docs/vim-mode/actions/index.html @@ -1,10 +1,10 @@ -Actions — Hilbish -

      Actions

      Vim actions are essentially just when a user uses a Vim keybind. Things like yanking and pasting are Vim actions. This is not an “offical Vim thing,” just a Hilbish thing.

      The hilbish.vimAction hook is thrown whenever a Vim action occurs. diff --git a/docs/vim-mode/index.html b/docs/vim-mode/index.html index c3264fc..a18fcbe 100644 --- a/docs/vim-mode/index.html +++ b/docs/vim-mode/index.html @@ -1,7 +1,7 @@ -Vim Mode — Hilbish -

      \ No newline at end of file diff --git a/index.html b/index.html index b2a577b..f9d9f9c 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ -Hilbish -

      Something Unique.

      🌺 Hilbish is the new Moon-powered interactive shell for Lua fans!
      Extensible, scriptable, configurable: All in Lua. ✨

      Install +Hilbish +

      Something Unique.

      🌺 Hilbish is the new Moon-powered interactive shell for Lua fans!
      Extensible, scriptable, configurable: All in Lua. ✨

      Install GitHub

      Simple and Easy Scripting

      Hilbish is configured and scripted in the Lua programming language. This removes all the old, ugly things about Shell script and introduces everything good about Lua, diff --git a/index.xml b/index.xml index 25fb690..e8951da 100644 --- a/index.xml +++ b/index.xml @@ -1,4 +1,11 @@ -Hilbishhttps://rosettea.github.io/Hilbish/Recent content on HilbishHugoen-usv2.2 Releasehttps://rosettea.github.io/Hilbish/blog/v2.2-release/Mon, 25 Dec 2023 23:56:36 -0400https://rosettea.github.io/Hilbish/blog/v2.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. +Hilbishhttps://rosettea.github.io/Hilbish/Recent content on HilbishHugo -- gohugo.ioen-usActionshttps://rosettea.github.io/Hilbish/docs/vim-mode/actions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/vim-mode/actions/Vim actions are essentially just when a user uses a Vim keybind. Things like yanking and pasting are Vim actions. This is not an &ldquo;offical Vim thing,&rdquo; just a Hilbish thing. +The hilbish.vimAction hook is thrown whenever a Vim action occurs. It passes 2 arguments: the action name, and an array (table) of args relating to it. +Here is documentation for what the table of args will hold for an appropriate Vim action.Lunacolorshttps://rosettea.github.io/Hilbish/docs/lunacolors/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/lunacolors/Lunacolors is an ANSI color/styling library for Lua. It is included by default in standard Hilbish distributions to provide easy styling for things like prompts and text. +For simple usage, a single color or style is enough. For example, you can just use lunacolors.blue 'Hello world' and that&rsquo;ll return blue text which you can print. This includes styles like bold, underline, etc. +In other usage, you may want to use a format string instead of having multiple nested functions for different styles.Frequently Asked Questionshttps://rosettea.github.io/Hilbish/docs/faq/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/faq/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 . +Why? Hilbish emerged from the desire of a Lua configured shell.Getting Startedhttps://rosettea.github.io/Hilbish/docs/getting-started/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/getting-started/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.v2.2 Releasehttps://rosettea.github.io/Hilbish/blog/v2.2-release/Mon, 25 Dec 2023 23:56:36 -0400https://rosettea.github.io/Hilbish/blog/v2.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes! Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES.Improving Hilbish's Brandinghttps://rosettea.github.io/Hilbish/blog/improving-this-website/Thu, 13 Apr 2023 22:15:31 -0400https://rosettea.github.io/Hilbish/blog/improving-this-website/Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). I decided to fix up this website and Hilbish&rsquo;s logo, so that can be thought of as something for the 2 years milestone? @@ -11,6 +18,67 @@ Oh look! A new release of Hilbish! This time is the v2.1 release, with a small a Documentation There have been a few documentation enhancements for this release. This includes: Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.Hilbish v2.0 Releasehttps://rosettea.github.io/Hilbish/blog/v2.0-release/Thu, 29 Dec 2022 01:55:21 +0000https://rosettea.github.io/Hilbish/blog/v2.0-release/Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. 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.Installhttps://rosettea.github.io/Hilbish/install/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/install/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. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.<link>https://rosettea.github.io/Hilbish/docs/hooks/job/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/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.done -&gt; job &gt; Thrown when a background jobs exits.</description></item><item><title/><link>https://rosettea.github.io/Hilbish/docs/jobs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/docs/jobs/</guid><description>(This has mainly been replaced by hilbish.jobs ). +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/docs/timers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/docs/timers/</guid><description>This has been moved to the hilbish.timers API doc (accessible by doc api hilbish.timers)</description></item><item><title>Commandhttps://rosettea.github.io/Hilbish/docs/hooks/command/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/hooks/command/command.preexec Thrown right before a command is executed. +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.) +string cmdStr +The command that will be directly executed by the current runner. +command.exit Thrown after the user&rsquo;s ran command is finished. +Variables number code +The exit code of what was executed. +string cmdStr +The command or code that was executedCompletionshttps://rosettea.github.io/Hilbish/docs/completions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/completions/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.Hilbishhttps://rosettea.github.io/Hilbish/docs/hooks/hilbish/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/hooks/hilbish/hilbish.exit Sent when Hilbish is going to exit. +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. +Variables string modeName +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-CInstallhttps://rosettea.github.io/Hilbish/install/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/install/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. -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.Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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 +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.Module baithttps://rosettea.github.io/Hilbish/docs/api/bait/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/bait/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.Module commanderhttps://rosettea.github.io/Hilbish/docs/api/commander/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/commander/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!Module dirshttps://rosettea.github.io/Hilbish/docs/nature/dirs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/nature/dirs/dirs.setOld(d) Sets the old directory string. +Parameters d string +dirs.push() Add d to the recent directories list. +Parameters This function has no parameters. +dirs.peak(num) Look at num amount of recent directories, starting from the latest. +Parameters num number +dirs.pop(num) Remove the specified amount of dirs from the recent directories list. +Parameters num number +dirs.recent(idx) Get entry from recent directories list based on index. +Parameters idx numberModule fshttps://rosettea.github.io/Hilbish/docs/api/fs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/fs/Introduction The fs module provides filesystem functions to Hilbish. While Lua&rsquo;s standard library has some I/O functions, they&rsquo;re missing a lot of the basics. The fs library offers more functions and will work on any operating system Hilbish does. +Functions abs(path) -&gt; string Returns an absolute version of the path. basename(path) -&gt; string Returns the &ldquo;basename,&rdquo; or the last part of the provided path. If path is empty, cd(dir) Changes Hilbish&rsquo;s directory to dir.Module hilbish.aliaseshttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.aliases/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.aliases/Introduction The alias interface deals with all command aliases in Hilbish. +Functions add(alias, cmd) This is an alias (ha) for the hilbish.alias function. delete(name) Removes an alias. list() -&gt; table[string, string] Get a table of all aliases, with string keys as the alias and the value as the command. resolve(alias) -&gt; string? Resolves an alias to its original command. Will thrown an error if the alias doesn&rsquo;t exist. hilbish.aliases.add(alias, cmd) This is an alias (ha) for the hilbish.Module hilbish.completionhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.completion/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.completion/Introduction The completions interface deals with tab completions. +Functions bins(query, ctx, fields) -&gt; entries (table), prefix (string) Return binaries/executables based on the provided parameters. call(name, query, ctx, fields) -&gt; completionGroups (table), prefix (string) Calls a completer function. This is mainly used to call a command completer, which will have a name files(query, ctx, fields) -&gt; entries (table), prefix (string) Returns file matches based on the provided parameters. handler(line, pos) This function contains the general completion handler for Hilbish.Module hilbish.editorhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.editor/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.editor/Introduction The hilbish.editor interface provides functions to directly interact with the line editor in use. +Functions getLine() -&gt; string Returns the current input line. getVimRegister(register) -&gt; string Returns the text that is at the register. insert(text) Inserts text into the Hilbish command line. getChar() -&gt; 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.Module hilbish.historyhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.history/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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() -&gt; table Retrieves all history as a table. clear() Deletes all commands from the history. get(index) Retrieves a command from the history based on the index. size() -&gt; number Returns the amount of commands in the history. hilbish.Module hilbish.jobshttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.jobs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.jobs/Introduction 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. +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.Module hilbish.modulehttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.module/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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&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.Module hilbish.oshttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.os/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.os/ 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 OSModule hilbish.runnerhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.runner/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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. +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.Module hilbish.timershttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.timers/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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&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). +An example of usage: +1local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function() 2 print &#39;hello!Module hilbish.userDirhttps://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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&rsquo;s preferred directories for configs and data. +Static module fields config The user&rsquo;s config directory data The user&rsquo;s directory for program dataModule terminalhttps://rosettea.github.io/Hilbish/docs/api/terminal/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/api/terminal/Introduction The terminal library is a simple and lower level library for certain terminal interactions. +Functions restoreState() Restores the last saved state of the terminal saveState() Saves the current state of the terminal. setRaw() Puts the terminal into raw mode. size() Gets the dimensions of the terminal. Returns a table with width and height terminal.restoreState() Restores the last saved state of the terminal +Parameters This function has no parameters.Notificationhttps://rosettea.github.io/Hilbish/docs/features/notifications/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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.Optionshttps://rosettea.github.io/Hilbish/docs/features/opts/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/features/opts/Opts are simple toggle or value options a user can set in Hilbish. As toggles, there are things like autocd or history saving. As values, there is the motd which the user can either change to a custom string or disable. +Opts are accessed from the hilbish.opts table. Here they can either be read or modified +autocd Value: boolean Default: false The autocd opt makes it so that lone directories attempted to be executed are instead set as the shell&rsquo;s directory.Runner Modehttps://rosettea.github.io/Hilbish/docs/features/runner-mode/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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 like Fennel as the interactive script runner.Signalhttps://rosettea.github.io/Hilbish/docs/hooks/signal/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/docs/hooks/signal/signal.sigint Thrown when Hilbish receive the SIGINT signal, aka when Ctrl-C is pressed. +Variables This signal returns no variables. +signal.resize Thrown when the terminal is resized. +Variables This signal returns no variables. +signal.sigusr1 Thrown when SIGUSR1 is sent to Hilbish. +Variables This signal returns no variables. +signal.sigusr2 Thrown when SIGUSR2 is sent to Hilbish. +Variables This signal returns no variables.Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/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/install/index.html b/install/index.html index ff8a410..a5dd2ef 100644 --- a/install/index.html +++ b/install/index.html @@ -1,7 +1,7 @@ -Install — Hilbish -

      Official Binaries +Install — Hilbish +

      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 diff --git a/sitemap.xml b/sitemap.xml index a9e8f3e..f67b08d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://rosettea.github.io/Hilbish/blog/2023-12-26T00:13:50-04:00https://rosettea.github.io/Hilbish/blog/v2.2-release/2023-12-26T00:13:50-04:00https://rosettea.github.io/Hilbish/blog/improving-this-website/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/blog/v2.1.2-release/2023-04-10T12:38:30-04:00https://rosettea.github.io/Hilbish/blog/v2.1.1-release/2023-04-01T18:16:13-04:00https://rosettea.github.io/Hilbish/blog/v2.1-release/2023-02-10T17:11:44-04:00https://rosettea.github.io/Hilbish/blog/v2.0-release/2022-12-28T22:27:05-04:00https://rosettea.github.io/Hilbish/2023-12-26T00:13:35-04:00https://rosettea.github.io/Hilbish/categories/https://rosettea.github.io/Hilbish/install/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/tags/https://rosettea.github.io/Hilbish/blog/welcome/2022-12-28T22:27:05-04:00 \ No newline at end of file +https://rosettea.github.io/Hilbish/docs/api/https://rosettea.github.io/Hilbish/docs/nature/https://rosettea.github.io/Hilbish/docs/vim-mode/https://rosettea.github.io/Hilbish/docs/vim-mode/actions/https://rosettea.github.io/Hilbish/docs/lunacolors/https://rosettea.github.io/Hilbish/docs/hooks/https://rosettea.github.io/Hilbish/docs/features/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/docs/faq/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/docs/getting-started/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/docs/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/blog/2023-12-26T00:13:50-04:00https://rosettea.github.io/Hilbish/blog/v2.2-release/2023-12-26T00:13:50-04:00https://rosettea.github.io/Hilbish/blog/improving-this-website/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/blog/v2.1.2-release/2023-04-10T12:38:30-04:00https://rosettea.github.io/Hilbish/blog/v2.1.1-release/2023-04-01T18:16:13-04:00https://rosettea.github.io/Hilbish/blog/v2.1-release/2023-02-10T17:11:44-04:00https://rosettea.github.io/Hilbish/blog/v2.0-release/2022-12-28T22:27:05-04:00https://rosettea.github.io/Hilbish/2023-12-26T00:13:35-04:00https://rosettea.github.io/Hilbish/docs/hooks/job/https://rosettea.github.io/Hilbish/docs/jobs/https://rosettea.github.io/Hilbish/docs/timers/https://rosettea.github.io/Hilbish/categories/https://rosettea.github.io/Hilbish/docs/hooks/command/https://rosettea.github.io/Hilbish/docs/completions/https://rosettea.github.io/Hilbish/docs/hooks/hilbish/https://rosettea.github.io/Hilbish/install/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/docs/api/bait/https://rosettea.github.io/Hilbish/docs/api/commander/https://rosettea.github.io/Hilbish/docs/nature/dirs/https://rosettea.github.io/Hilbish/docs/api/fs/https://rosettea.github.io/Hilbish/docs/api/hilbish/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.aliases/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.completion/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.editor/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.history/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.jobs/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.module/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.os/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.runner/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.timers/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.userdir/https://rosettea.github.io/Hilbish/docs/api/terminal/https://rosettea.github.io/Hilbish/docs/features/notifications/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/docs/features/opts/https://rosettea.github.io/Hilbish/docs/features/runner-mode/2023-12-25T23:08:29-04:00https://rosettea.github.io/Hilbish/docs/hooks/signal/https://rosettea.github.io/Hilbish/tags/https://rosettea.github.io/Hilbish/blog/welcome/2022-12-28T22:27:05-04:00 \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 404b8d9..3e22997 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,7 +1,7 @@ -Tags — Hilbish -

      v2.2 Release

      The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. +Tags — Hilbish +

      v2.2 Release

      The release with full changelogs and prebuilt binaries can be seen at the v2.2.0 tag. Welcome to a very long awaited release of Hilbish, and on Christmas. Just think of it as a long preparing, late Christmas gift. :) This release does not contain a whole lot of changes, but it is a new release with enhancements and bug fixes! Documentation As is a trend, the documentation has been improved by ONE HUNDRED TIMES.

      Improving Hilbish's Branding

      Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? diff --git a/tags/index.xml b/tags/index.xml index 00360f5..c11b97f 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on Hilbishhttps://rosettea.github.io/Hilbish/tags/Recent content in Tags on HilbishHugoen-us \ No newline at end of file +Tags on Hilbishhttps://rosettea.github.io/Hilbish/tags/Recent content in Tags on HilbishHugo -- gohugo.ioen-us \ No newline at end of file