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.
 
 
 
Go to file
sammyette 0f33f72de7
docs: fix docs for outdated hook
5 months ago
.github ci: revert using task and set ldflags 5 months ago
assets docs: slight refactor of the readme 2 years ago
cmd/docgen refactor!: rework docs and doc command (#218) 6 months ago
docs docs: fix docs for outdated hook 5 months ago
emmyLuaDocs docs: [ci] generate new docs 5 months ago
gallery docs: update image for readme gallery 1 year ago
golibs docs: improve emmy lua annotations 5 months ago
libs chore: update lunacolors 6 months ago
nature fix(commands/cd): set oldpwd when cd-ing with no args (fixes #225) 5 months ago
readline fix(readline): dont do anything if length of input rune slice is 0 6 months ago
util refactor: remove doc prop related code 5 months ago
website website(docs/intoduction): change text of introduction 5 months ago
.editorconfig chore: add .editorconfig file (#217) 6 months ago
.gitignore refactor!: rework docs and doc command (#218) 6 months ago
.gitmodules chore: update lunacolors 1 year ago
.hilbishrc.lua refactor!: move hilbish.greeting to an opt (closes #184) 11 months ago
CHANGELOG.md chore: add missing entries to changelog 5 months ago
CONTRIBUTING.md docs: update contributing info to include writing changes to changelog 1 year ago
LICENSE chore: update license 1 year ago
README.md docs: change task link and notice 6 months ago
Taskfile.yaml chore: add rpm spec file (package for copr/fedora) (#220) 5 months ago
aliases.go docs: improve emmy lua annotations 5 months ago
api.go docs: improve emmy lua annotations 5 months ago
complete.go docs: improve emmy lua annotations 5 months ago
editor.go docs: improve emmy lua annotations 5 months ago
exec.go refactor: remove doc prop related code 5 months ago
execfile_unix.go feat: job enhancements (#153) 1 year ago
execfile_windows.go feat: job enhancements (#153) 1 year ago
go.mod chore: update golua for popen (#172) 6 months ago
go.sum chore: update golua for popen (#172) 6 months ago
hilbish-git.spec chore: add rpm spec file (package for copr/fedora) (#220) 5 months ago
history.go perf: preallocate history slice 6 months ago
init_windows.go fix: set vt in on stdin 11 months ago
job.go docs: add emmy lua annotation for id in jobs.disown 5 months ago
job_unix.go feat: implement job foregrounding/backgrounding (#155) 1 year ago
job_windows.go feat: implement job foregrounding/backgrounding (#155) 1 year ago
lua.go feat(bait): add error hook and hooks function (closes #205) 8 months ago
main.go feat: add hilbish.cancel hook (closes #213) 6 months ago
os.go refactor: remove doc prop related code 5 months ago
rl.go refactor!: rework docs and doc command (#218) 6 months ago
rpkg.conf chore: add rpm spec file (package for copr/fedora) (#220) 5 months ago
rpkg.macros chore: add rpm spec file (package for copr/fedora) (#220) 5 months ago
runnermode.go docs: improve emmy lua annotations 5 months ago
signal_unix.go refactor: use custom event emitter (#193) 10 months ago
signal_windows.go refactor: use custom event emitter (#193) 10 months ago
timer.go refactor!: rework docs and doc command (#218) 6 months ago
timerhandler.go docs: improve emmy lua annotations 5 months ago
userdir.go refactor: remove doc prop related code 5 months ago
vars.go chore: prepare for v2.0 5 months ago
vars_darwin.go refactor: (re)organize and change prelude path and structure 1 year ago
vars_linux.go build!: set datadir of hilbish and change default prefix to /usr/local (#221) 6 months ago
vars_windows.go fix: add dot to sample config path on windows 10 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

  • Go 1.17+
  • Task (Go on the hyperlink here to see Task's install method for your OS.)

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