diff --git a/404.html b/404.html index b13d78a..9dd3b98 100644 --- a/404.html +++ b/404.html @@ -2,4 +2,4 @@

Go Home

\ No newline at end of file +

Go Home

\ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..4655b58 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,7 @@ +Blogs — Hilbish +
Hilbish 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’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.

Welcome to the Hilbish blog

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/blog/index.xml b/blog/index.xml new file mode 100644 index 0000000..c91516f --- /dev/null +++ b/blog/index.xml @@ -0,0 +1,3 @@ +Blogs on Hilbishhttps://rosettea.github.io/Hilbish/blog/Recent content in Blogs on HilbishHugo -- gohugo.ioen-usThu, 29 Dec 2022 01:55:21 +0000Hilbish 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’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.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/blog/v2.0-release/index.html b/blog/v2.0-release/index.html new file mode 100644 index 0000000..fc28a56 --- /dev/null +++ b/blog/v2.0-release/index.html @@ -0,0 +1,56 @@ +Hilbish v2.0 Release — Hilbish +

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 +featuring over 40+ bug fixes and tons of new features and enhancements, so +let’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. Hilbish had plain text, autogenerated +documentation which only covered the module functions (bait, hilbish, +commander, etc.) and did not include the interfaces (hilbish.timers, +hilbish.jobs and all that).

I have tried to improve this by working on documenting all the +interfaces (except for some functions of hilbish.runner, that’s hard to do) +and made the documentation markdown for use on this website. This means +that users can look at documentation here or with the doc command.

Hopefully this addresses documentation complaints, and if not, please open an issue.

Main Bug Fixes

As this is a piece of software with no unit testing that is maintained by me alone, +there is gonna be either some bug or something that I overlooked when +making a change. I make a lot of mistakes. There’s also the other fact that +sometimes there’s just bugs for any other reasosn. Good thing I fixed +more than 40 of those bugs in this release!

Readline Bug Fixes

The pure Go readline library is good in some ways and bad in others. +A good portion of the bug fixes are for the readline library, and also +related to text input with east asian characters and the like (Korean, Japanese, +etc.)

A few of the fixes (and additions) include:

  • Fixing various crashes, including when there is a “stray” newline at the end of text
  • Grid completion menu causing spam and duplicate text when there are items longer than +the terminal and/or contain Japanese or other characters.
  • Cursor positioning with CJK characters
  • Adding new keybinds and fixing others

Other fixes

There are a lot more fixes, even more than the ones listed here, but these are the main ones: +- Don’t put alias expanded command in history (I’ve fixed this 5 times now….) +- Handle stdin being nonblocking +- Completion related fixes, like showing the full name, completing files with spaces

Breaking changes

This release is a major version bump not only because there are tons of fixes, but because +there are breaking changes. This means that there are some changes done which would +cause errors with an old user config (breaking).

Lua 5.4

The most important is the use of a new Lua VM library. Previously, Hilbish +used gopher-lua, which implements Lua 5.1. This has been changed to +golua +, which implements Lua 5.4.

Moving from 5.1 to 5.4 does have breaking changes even if it doesn’t seem like it, +and since these are different Lua implementations, there may be some differences there too.

Userdata

Previously, objects such as jobs or timers were represented by tables. +This has been changed to userdata to make more sense.

Other changes

Runner functions are now required to return a table. +It can (at the moment) have 4 variables:

  • input (user input)
  • exitCode (exit code)
  • error (error message)
  • continue (whether to prompt for more input) +User input has been added to the return to account for runners wanting to +prompt for continued input, and to add it properly to history. continue +got added so that it would be easier for runners to get continued input +without having to actually handle it at all.

The MacOS config paths now match Linux, since it makes more sense for +a program like Hilbish.

The Hilbish greeting is now an opt, and is printed by default.

Feature Additions

Besides fixes and changes, this release also includes a good portion of +new features! Users can now add handlers for syntax highlighting and +inline hinting.

Some new hooks have been added, like hilbish.cancel and hilbish.init. +You can look at all the hooks via the doc hooks command

Job management functions have also been added. You can now put jobs in the +foreground/background and disown them via the expected commands and also +via the Lua API.

The hilbish.timers API interface was also added in this release!

Closing Off

Hilbish has gone from something small and simple for myself to a slightly +advanced shell with a decent amount of features, and a few users. It +still hasn’t reached levels of other alt shells in regards to literally +everything, but the goal is to get there!

If you want to check the FULL changelog, you can do so here. +This v2.0 release marks an advancement in Hilbish (and also how long +one of my projects hasn’t died) and I hope it can advance even further.

Thanks for reading, and I’ll be back for the v2.1 release notes, or maybe +something else in between.

\ No newline at end of file diff --git a/blog/welcome/index.html b/blog/welcome/index.html new file mode 100644 index 0000000..bb5ca85 --- /dev/null +++ b/blog/welcome/index.html @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..99037eb --- /dev/null +++ b/categories/index.html @@ -0,0 +1,7 @@ +Categories — Hilbish +
Hilbish 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’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.

Welcome to the Hilbish blog

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/docs/api/bait/index.html b/docs/api/bait/index.html index dfd09f6..abc8fb5 100644 --- a/docs/api/bait/index.html +++ b/docs/api/bait/index.html @@ -2,7 +2,7 @@

Module bait

the event emitter

Introduction

Bait is the event emitter for Hilbish. Why name it bait? Why not. +

Module bait

the event emitter

Introduction

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 happened, like when you’ve changed directory, a command has failed, diff --git a/docs/api/commander/index.html b/docs/api/commander/index.html index 4ac0c5e..ecc4afb 100644 --- a/docs/api/commander/index.html +++ b/docs/api/commander/index.html @@ -2,4 +2,4 @@

Module commander

library for custom commands

Introduction

Commander is a library for writing custom commands in Lua.

Functions

deregister(name)

Deregisters any command registered with name

register(name, cb)

Register a command with name that runs cb when ran

\ No newline at end of file +

Module commander

library for custom commands

Introduction

Commander is a library for writing custom commands in Lua.

Functions

deregister(name)

Deregisters any command registered with name

register(name, cb)

Register a command with name that runs cb when ran

\ No newline at end of file diff --git a/docs/api/fs/index.html b/docs/api/fs/index.html index c05202a..09a9a30 100644 --- a/docs/api/fs/index.html +++ b/docs/api/fs/index.html @@ -2,7 +2,7 @@

Module fs

filesystem interaction and functionality library

Introduction

The fs module provides easy and simple access to filesystem functions +

Module fs

filesystem interaction and functionality library

Introduction

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.

Functions

abs(path)

Gives an absolute version of path.

basename(path)

Gives the basename of path. For the rules, see Go’s filepath.Base

cd(dir)

Changes directory to dir

dir(path)

Returns the directory part of path. For the rules, see Go’s diff --git a/docs/api/hilbish/hilbish.aliases/index.html b/docs/api/hilbish/hilbish.aliases/index.html index 240160b..7bf41db 100644 --- a/docs/api/hilbish/hilbish.aliases/index.html +++ b/docs/api/hilbish/hilbish.aliases/index.html @@ -2,5 +2,5 @@

Interface 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 function.

delete(name)

Removes an alias.

list() -> aliases (table)

Get a table of all aliases, with string keys as the alias and the value as the command. +

Interface 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 function.

delete(name)

Removes an alias.

list() -> aliases (table)

Get a table of all aliases, with string keys as the alias and the value as the command. @returns table<string, string>

resolve(alias) -> command (string)

Tries to resolve an alias to its command.

\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.completions/index.html b/docs/api/hilbish/hilbish.completions/index.html index 44c82d6..884bd34 100644 --- a/docs/api/hilbish/hilbish.completions/index.html +++ b/docs/api/hilbish/hilbish.completions/index.html @@ -2,7 +2,7 @@

Interface hilbish.completions

tab completions

Introduction

The completions interface deals with tab completions.

Functions

call(name, query, ctx, fields)

Calls a completer function. This is mainly used to call +

Interface hilbish.completions

tab completions

Introduction

The completions interface deals with tab completions.

Functions

call(name, query, ctx, fields)

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

handler(line, pos)

The handler function is the callback for tab completion in Hilbish. You can check the completions doc for more info.

bins(query, ctx, fields)

Returns binary/executale completion candidates based on the provided query.

files(query, ctx, fields)

Returns file completion candidates based on the provided query.

\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.editor/index.html b/docs/api/hilbish/hilbish.editor/index.html index 07ea97f..bc07980 100644 --- a/docs/api/hilbish/hilbish.editor/index.html +++ b/docs/api/hilbish/hilbish.editor/index.html @@ -2,5 +2,5 @@

Interface hilbish.editor

interactions for Hilbish's line reader

Introduction

The hilbish.editor interface provides functions to +

Interface 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

getLine()

Returns the current input line.

getVimRegister(register)

Returns the text that is at the register.

insert(text)

Inserts text into the line.

setVimRegister(register, text)

Sets the vim register at register to hold the passed text.

\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.history/index.html b/docs/api/hilbish/hilbish.history/index.html index 68cd4cf..0542a22 100644 --- a/docs/api/hilbish/hilbish.history/index.html +++ b/docs/api/hilbish/hilbish.history/index.html @@ -2,6 +2,6 @@

Interface hilbish.history

command history

Introduction

The history interface deals with command history. +

Interface hilbish.history

command 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.

clear()

Deletes all commands from the history.

get(idx)

Retrieves a command from the history based on the idx.

size()

Returns the amount of commands in the history.

\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.jobs/index.html b/docs/api/hilbish/hilbish.jobs/index.html index 2dc4b2e..933eddb 100644 --- a/docs/api/hilbish/hilbish.jobs/index.html +++ b/docs/api/hilbish/hilbish.jobs/index.html @@ -2,6 +2,6 @@

Interface 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 +

Interface 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.

Object properties

  • cmd: The user entered command string for the job.
  • running: Whether the job is running or not.
  • id: The ID of the job in the job table
  • pid: The Process ID
  • exitCode: The last exit code of the job.
  • stdout: The standard output of the job. This just means the normal logs of the process.
  • stderr: The standard error stream of the process. This (usually) includes error messages of the job.

Functions

background()

Puts a job in the background. This acts the same as initially running a job.

foreground()

Puts a job in the foreground. This will cause it to run like it was executed normally and wait for it to complete.

start()

Starts running the job.

stop()

Stops the job from running.

add(cmdstr, args, execPath)

Adds a new job to the job table. Note that this does not immediately run it.

all() -> jobs (table<Job/Table>)

Returns a table of all job objects.

disown(id)

Disowns a job. This deletes it from the job table.

get(id) -> job (Job/Table)

Get a job object via its ID.

last() -> job (Job/Table)

Returns the last added job from the table.

\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.os/index.html b/docs/api/hilbish/hilbish.os/index.html index 3a7db3c..2d5bb57 100644 --- a/docs/api/hilbish/hilbish.os/index.html +++ b/docs/api/hilbish/hilbish.os/index.html @@ -2,6 +2,6 @@

Interface hilbish.os

OS Info

Introduction

The os interface provides simple text information properties about +

Interface hilbish.os

OS Info

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
\ No newline at end of file diff --git a/docs/api/hilbish/hilbish.runner/index.html b/docs/api/hilbish/hilbish.runner/index.html index 5dd338f..5930d34 100644 --- a/docs/api/hilbish/hilbish.runner/index.html +++ b/docs/api/hilbish/hilbish.runner/index.html @@ -2,7 +2,7 @@

Interface hilbish.runner

interactive command runner customization

Introduction

The runner interface contains functions that allow the user to change +

Interface hilbish.runner

interactive command runner customization

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 diff --git a/docs/api/hilbish/hilbish.timers/index.html b/docs/api/hilbish/hilbish.timers/index.html index b143b97..02d0ed8 100644 --- a/docs/api/hilbish/hilbish.timers/index.html +++ b/docs/api/hilbish/hilbish.timers/index.html @@ -2,7 +2,7 @@

Interface 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 +

Interface 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 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 diff --git a/docs/api/hilbish/hilbish.userdir/index.html b/docs/api/hilbish/hilbish.userdir/index.html index 78d5806..eaeca07 100644 --- a/docs/api/hilbish/hilbish.userdir/index.html +++ b/docs/api/hilbish/hilbish.userdir/index.html @@ -2,6 +2,6 @@

Interface hilbish.userDir

user-related directories

Introduction

This interface just contains properties to know about certain user directories. +

Interface 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 for configs and data.

Interface 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/hilbish/index.html b/docs/api/hilbish/index.html index c6835d6..c65c6ea 100644 --- a/docs/api/hilbish/index.html +++ b/docs/api/hilbish/index.html @@ -2,7 +2,7 @@

Module hilbish

the core Hilbish API

Introduction

The Hilbish module includes the core API, containing +

Module hilbish

the core Hilbish API

Introduction

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

Interface fields

  • ver: The version of Hilbish
  • user: Username of the user
  • host: Hostname of the machine
  • dataDir: Directory for Hilbish data files, including the docs and default modules
  • interactive: 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 command

Functions

alias(cmd, orig)

Sets an alias of cmd to orig

appendPath(dir)

Appends dir to $PATH

complete(scope, cb)

Registers a completion handler for scope. A scope is currently only expected to be command.<cmd>, replacing with the name of the command (for example command.git). diff --git a/docs/api/index.html b/docs/api/index.html index d0893b0..25c35a4 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -2,5 +2,5 @@

API

Welcome to the API documentation for Hilbish. This documents Lua functions +

\ No newline at end of file diff --git a/docs/api/index.xml b/docs/api/index.xml index 561a31e..dd45cf8 100644 --- a/docs/api/index.xml +++ b/docs/api/index.xml @@ -1,4 +1,4 @@ -API on Hilbishhttps://rosettea.github.io/Hilbish/docs/api/Recent content in API on HilbishHugo -- gohugo.ioen-us<link>https://rosettea.github.io/Hilbish/docs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/docs/api/</guid><description>hello!</description></item><item><title>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. 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 happened, like when you&rsquo;ve changed directory, a command has failed, etc. To find all available hooks thrown by Hilbish, see doc hooks. +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. 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 happened, like when you&rsquo;ve changed directory, a command has failed, etc. To find all available hooks thrown by Hilbish, see doc hooks. Functions catch(name, cb) Catches a hook with name.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 a library for writing custom commands in Lua. Functions deregister(name) Deregisters any command registered with name register(name, cb) Register a command with name that runs cb when ranModule 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 easy and simple access to filesystem functions and other things, and acts an addition to the Lua standard library&rsquo;s I/O and filesystem functions. diff --git a/docs/api/terminal/index.html b/docs/api/terminal/index.html index 577a5b8..599b2c1 100644 --- a/docs/api/terminal/index.html +++ b/docs/api/terminal/index.html @@ -2,5 +2,5 @@

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 in raw mode

size()

Gets the dimensions of the terminal. Returns a table with width and height +

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 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

\ No newline at end of file diff --git a/docs/faq/index.html b/docs/faq/index.html index 7641e23..7610707 100644 --- a/docs/faq/index.html +++ b/docs/faq/index.html @@ -6,7 +6,7 @@ Where is the API documentation?" name=description>

Frequently Asked Questions

Last updated Dec 20, 2022

Is Hilbish POSIX compliant?

No, it is not. POSIX compliance is a non-goal. Perhaps in the future, +

Frequently Asked Questions

Last updated Dec 20, 2022

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’s main goal, but ….)

Windows Support?

It compiles for Windows (CI ensures it does), but otherwise it is not directly supported. If you’d like to improve this situation, diff --git a/docs/features/index.html b/docs/features/index.html index 95d3bc0..4e14215 100644 --- a/docs/features/index.html +++ b/docs/features/index.html @@ -2,7 +2,7 @@

Features

Last updated Dec 13, 2022

Hilbish has a wide range of features to enhance the user’s experience and +

Features

Last updated Dec 13, 2022

Hilbish has a wide range of features to enhance the user’s experience and is always adding new ones. 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.

\ No newline at end of file diff --git a/docs/features/runner-mode/index.html b/docs/features/runner-mode/index.html index 2a96024..3c33ee6 100644 --- a/docs/features/runner-mode/index.html +++ b/docs/features/runner-mode/index.html @@ -2,7 +2,7 @@

Runner Mode

Last updated Dec 13, 2022
Customize the interactive script/command runner.

Hilbish allows you to change how interactive text can be interpreted. +

Runner Mode

Last updated Dec 13, 2022
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 0c32238..7b74195 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -4,7 +4,7 @@ Setting as Default Login shell There are a few ways to make Hilbish your default

Getting Started

Last updated Dec 13, 2022

To start Hilbish, open a terminal. If Hilbish has been installed and is not the +

Getting Started

Last updated Dec 13, 2022

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 diff --git a/docs/index.html b/docs/index.html index a2d2190..ee685a4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ Here documents some of the features of Hilbish and the Lua API." name=descriptio

Introduction

Last updated Dec 20, 2022

Hilbish is a hyper-extensible shell mainly intended for interactive use. +

Introduction

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.

\ No newline at end of file diff --git a/index.html b/index.html index 3cfcf1a..b082fd6 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@

Something Unique.

Hilbish is the new interactive shell for Lua fans.
Extensible, scriptable, configurable: All in Lua.

Install +

Something Unique.

Hilbish is the new 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, including other languages (Moonscript & Fennel). diff --git a/index.xml b/index.xml index 2788ec9..c1f2e8a 100644 --- a/index.xml +++ b/index.xml @@ -1,9 +1,9 @@ Hilbishhttps://rosettea.github.io/Hilbish/Recent content on HilbishHugo -- gohugo.ioen-usFrequently 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 . Where is the API documentation?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.<link>https://rosettea.github.io/Hilbish/docs/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://rosettea.github.io/Hilbish/docs/api/</guid><description>hello!</description></item><item><title>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. -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 Package Repositories Fedora (COPR) An official COPR is offered to install Hilbish easily on Fedora.Interface 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. +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.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.Interface 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; aliases (table) Get a table of all aliases, with string keys as the alias and the value as the command. @returns table&lt;string, string&gt; @@ -37,4 +37,4 @@ Functions restoreState() Restores the last saved state of the terminal saveState() Saves the current state of the terminal 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 displayRunner 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, instead of either like Fennel. \ 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, instead of either like Fennel.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 deleted file mode 100644 index 4bf1791..0000000 --- a/install/index.html +++ /dev/null @@ -1,18 +0,0 @@ -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 -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

Package Repositories

Fedora (COPR)

An official COPR is offered to install Hilbish easily on Fedora. -Enable the repo:

sudo dnf copr enable sammyette/Hilbish
-

And install Hilbish:

sudo dnf install hilbish
-

Or for the latest development build from master:

sudo dnf install hilbish-git
-

Arch Linux (AUR)

Hilbish is on the AUR. Setup an AUR helper, and install. -Example with yay:

yay -S hilbish
-

Or, from master branch:

yay -S hilbish-git
-

Alpine Linux

Hilbish is currentlty in the testing/edge repository for Alpine. -Follow the steps here -(Using testing repositories) and install:

apk add hilbish
-
\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 30f88af..7626b78 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://rosettea.github.io/Hilbish/docs/api/https://rosettea.github.io/Hilbish/docs/features/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/docs/faq/2022-12-20T00:41:48-04:00https://rosettea.github.io/Hilbish/docs/getting-started/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/docs/2022-12-20T19:42:44-04:00https://rosettea.github.io/Hilbish/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/docs/api/https://rosettea.github.io/Hilbish/categories/https://rosettea.github.io/Hilbish/install/2022-12-19T23:19:48-04:00https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.aliases/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.completions/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.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/bait/https://rosettea.github.io/Hilbish/docs/api/commander/https://rosettea.github.io/Hilbish/docs/api/fs/https://rosettea.github.io/Hilbish/docs/api/hilbish/https://rosettea.github.io/Hilbish/docs/api/terminal/https://rosettea.github.io/Hilbish/docs/features/runner-mode/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/tags/ \ No newline at end of file +https://rosettea.github.io/Hilbish/docs/api/https://rosettea.github.io/Hilbish/docs/features/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/docs/faq/2022-12-20T00:41:48-04:00https://rosettea.github.io/Hilbish/docs/getting-started/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/docs/2022-12-20T19:42:44-04:00https://rosettea.github.io/Hilbish/blog/2022-12-28T22:27:05-04:00https://rosettea.github.io/Hilbish/blog/v2.0-release/2022-12-28T22:27:05-04:00https://rosettea.github.io/Hilbish/2022-12-13T15:14:48-04:00https://rosettea.github.io/Hilbish/categories/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.aliases/https://rosettea.github.io/Hilbish/docs/api/hilbish/hilbish.completions/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.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/bait/https://rosettea.github.io/Hilbish/docs/api/commander/https://rosettea.github.io/Hilbish/docs/api/fs/https://rosettea.github.io/Hilbish/docs/api/hilbish/https://rosettea.github.io/Hilbish/docs/api/terminal/https://rosettea.github.io/Hilbish/docs/features/runner-mode/2022-12-13T15:14:48-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 diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..41833b1 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,7 @@ +Tags — Hilbish +
Hilbish 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’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.

Welcome to the Hilbish blog

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