You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
TorchedSammy 09d04a7850 docs: [ci] generate new docs 6 hours ago
.github build!: replace make with task (#171) 5 months ago
assets docs: slight refactor of the readme 1 year ago
cmd/docgen fix(docgen): make functions that take varargs have the signature 8 months ago
docs feat: add hilbish.cancel hook (closes #213) 6 days ago
emmyLuaDocs docs: [ci] generate new docs 6 hours ago
gallery docs: update image for readme gallery 8 months ago
golibs docs(bait): add annotation strings for release and hooks functions 6 hours ago
libs chore: update lunacolors (adds blackBg format arg) 4 months ago
nature feat: add builtins clear, exec and cat (#208) 2 months ago
readline feat: select 1st item on history find menu (closes #148) 6 days ago
util refactor: move out home abbreviating code to a util function 7 months ago
.editorconfig chore: add .editorconfig file (#217) 17 hours ago
.gitignore feat: add docgen program, document almost all hilbish functions 1 year ago
.gitmodules chore: update lunacolors 9 months ago
.hilbishrc.lua refactor!: move hilbish.greeting to an opt (closes #184) 5 months ago
CHANGELOG.md chore: update changelog 1 day ago
CONTRIBUTING.md docs: update contributing info to include writing changes to changelog 6 months ago
LICENSE chore: update license 10 months ago
README.md docs: remove getting started from readme toc 2 months ago
Taskfile.yaml build: disable cgo in builds 2 months ago
aliases.go feat: add hilbish.aliases.resolve to resolve an alias 7 months ago
api.go feat: make prompt optional in hilbish.read 2 months ago
complete.go fix: escape completion prefix if completions are escaped 1 day ago
editor.go feat(hilbish.editor): add getLine function to get contents of line 5 months ago
exec.go fix!: pass non expanded input to builtin runners 3 months ago
execfile_unix.go feat: job enhancements (#153) 6 months ago
execfile_windows.go feat: job enhancements (#153) 6 months ago
go.mod feat: implement job foregrounding/backgrounding (#155) 6 months ago
go.sum feat: implement job foregrounding/backgrounding (#155) 6 months ago
history.go perf: preallocate history slice 2 days ago
init_windows.go fix: set vt in on stdin 5 months ago
job.go refactor: use custom event emitter (#193) 4 months ago
job_unix.go feat: implement job foregrounding/backgrounding (#155) 6 months ago
job_windows.go feat: implement job foregrounding/backgrounding (#155) 6 months ago
lua.go feat(bait): add error hook and hooks function (closes #205) 2 months ago
main.go feat: add hilbish.cancel hook (closes #213) 6 days ago
rl.go fix: call hinter for hint text handler 3 months ago
runnermode.go fix!: pass non expanded input to builtin runners 3 months ago
signal_unix.go refactor: use custom event emitter (#193) 4 months ago
signal_windows.go refactor: use custom event emitter (#193) 4 months ago
timer.go refactor!: use userdata where appropriate (#157) 6 months ago
timerhandler.go refactor!: use userdata where appropriate (#157) 6 months ago
vars.go chore: change version to rc1 2 months ago
vars_darwin.go refactor: (re)organize and change prelude path and structure 7 months ago
vars_linux.go refactor: (re)organize and change prelude path and structure 7 months ago
vars_windows.go fix: add dot to sample config path on windows 4 months ago

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

NOTE: Hilbish is not guaranteed to work properly on Windows, starting from the 2.0 version. It will still be able to compile, but functionality may be lacking.

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:

task

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

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

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

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