Go to file
TorchedSammy dc933934eb
feat: add hilbish.editor interface
this is going to be a middle level interface
which brings functions for interacting
with the line editor used in hilbish

adds the following functions:
setVimRegister(reg, text) - sets text in a vim register
getVimRegister(reg) - gets text from a vim register
insert(text) - inserts text into the line
accessible via hilbish.editor
2022-05-13 20:43:40 -04:00
.github chore: merge 2022-05-06 19:06:57 -04:00
assets docs: slight refactor of the readme 2021-10-12 16:01:17 -04:00
cmd/docgen fix(docgen): make functions that take varargs have the signature 2022-04-04 21:34:46 -04:00
docs docs: update nature doc to have new correct info 2022-05-08 16:03:44 -04:00
emmyLuaDocs docs: [ci] generate new docs 2022-04-23 00:03:50 -04:00
gallery docs: update image for readme gallery 2022-03-22 21:19:36 -04:00
golibs fix: implicitly expand tilde on args to all fs functions 2022-05-01 00:49:59 -04:00
libs refactor!: support lua 5.4 (#129) 2022-04-04 06:40:02 -04:00
nature fix(doc): check if modmt exists before trying to get module prop docs 2022-05-08 16:02:24 -04:00
readline feat: add hilbish.editor interface 2022-05-13 20:43:40 -04:00
util fix: check if path has tilde prefix when trying to expand home 2022-05-01 07:20:40 -04:00
.gitignore feat: add docgen program, document almost all hilbish functions 2021-10-16 10:21:05 -04:00
.gitmodules chore: update lunacolors 2022-03-13 16:37:33 -04:00
.hilbishrc.lua refactor: remove mode from prompt func in default conf and dont refresh in vim mode 2022-03-13 16:12:34 -04:00
CHANGELOG.md docS: update changelogs for master 2022-04-30 12:00:01 -04:00
CONTRIBUTING.md docs: bring contributing guide up to date 2022-02-25 18:22:59 -04:00
LICENSE chore: update license 2022-02-12 16:46:41 -04:00
Makefile refactor: (re)organize and change prelude path and structure 2022-04-23 00:03:50 -04:00
README.md docs: fix hilbish typo 2022-04-03 21:43:13 -04:00
aliases.go feat: add hilbish.aliases.resolve to resolve an alias 2022-04-23 12:28:28 -04:00
api.go feat: add hilbish.editor interface 2022-05-13 20:43:40 -04:00
complete.go fix: implicitly expand tilde on args to all fs functions 2022-05-01 00:49:59 -04:00
editor.go feat: add hilbish.editor interface 2022-05-13 20:43:40 -04:00
exec.go fix: always start job in exec handler 2022-05-13 16:59:16 -04:00
execfile_unix.go fix: completions of executables and running absolute paths on windows 2022-03-17 20:22:30 -04:00
execfile_windows.go fix: completions of executables and running absolute paths on windows 2022-03-17 20:22:30 -04:00
go.mod fix(readline): take into account character width (#145) 2022-04-20 08:18:34 -04:00
go.sum fix(readline): take into account character width (#145) 2022-04-20 08:18:34 -04:00
history.go feat: make history clear function work again 2022-03-22 19:01:29 -04:00
job.go feat: add hilbish.job.add function 2022-05-13 17:08:15 -04:00
lua.go feat: print error if nature is missing 2022-05-06 19:21:32 -04:00
main.go fix: implicitly expand tilde on args to all fs functions 2022-05-01 00:49:59 -04:00
rl.go feat: allow overwrite of completion handler (closes #122) 2022-04-23 00:03:47 -04:00
runnermode.go fix!: add complete input to history, including continued input 2022-04-13 10:12:17 -04:00
signal_unix.go fix: catch and ignore sigquit signal (closes #112) 2022-03-14 20:55:00 -04:00
signal_windows.go fix: only notify ctrl c signal on windows 2022-02-28 16:15:08 -04:00
timer.go feat: add timer pool and api (closes #135) 2022-04-12 19:31:48 -04:00
timerhandler.go feat: add timer pool and api (closes #135) 2022-04-12 19:31:48 -04:00
vars.go fix: make macOS config path match Linux (#143) 2022-04-19 22:12:05 -04:00
vars_darwin.go refactor: (re)organize and change prelude path and structure 2022-04-23 00:03:50 -04:00
vars_linux.go refactor: (re)organize and change prelude path and structure 2022-04-23 00:03:50 -04:00
vars_windows.go refactor: (re)organize and change prelude path and structure 2022-04-23 00:03:50 -04:00

README.md



🌺 The flower shell. A comfy and nice little shell for Lua fans!

GitHub commit activity GitHub commits since latest release (by date) GitHub contributors
help wanted GitHub license Discord

Hilbish is a extensible shell (framework). It was made to be very customizable via the Lua programming language. It aims to be easy to use for the casual people but powerful for those who want to tinker more with their shell, the thing used to interface with most of the system.

The motivation for choosing Lua was that its simpler and better to use than old shell script. It's fine for basic interactive shell uses, but that's the only place Hilbish has shell script; everything else is Lua and aims to be infinitely configurable. If something isn't, open an issue!

Table of Contents

Screenshots





Installation

Prebuilt binaries

Go here for builds on the master branch.

AUR

AUR maintainer
Arch Linux users can install Hilbish from the AUR with the following command:

yay -S hilbish

AUR maintainer
Or from the latest master commit with:

yay -S hilbish-git

Nixpkgs

Nix/NixOS users can install Hilbish from the central repository, nixpkgs, through the usual ways. If you're new to nix you should probably read up on how to do that here.

Manual Build

Prerequisites

Build

First, clone Hilbish. The recursive is required, as some Lua libraries are submodules.

git clone --recursive https://github.com/Rosettea/Hilbish
cd Hilbish
go get -d ./...

To build, run:

make dev

Or, if you want a stable branch, run these commands:

git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
make build

After you did all that, run sudo make install to install Hilbish globally.

Getting Started

At startup, you should see a message which says to run a guide command. This guide is a very simple and basic step through text of what Hilbish is and where to find documentation.

Documentation is primarily viewed via the in shell doc command. Autogenerated function docs and general docs about other things are included there, so be sure to read it.

Using Hilbish is the same as using any other Linux shell, with an addition that you can also run Lua. Hilbish can also act as an enhanced Lua REPL via hilbish.runnerMode 'lua'. To switch back to normal, use hilbish.runnerMode 'hybrid'.

Contributing

Any kind of contributions are welcome! Hilbish is very easy to contribute to. Read CONTRIBUTING.md as a guideline to doing so.

Thanks to everyone below who's contributed!

Made with contributors-img.

License

Hilbish is licensed under the MIT license.
Images and assets are licensed under CC-BY-SA 4.0