0ed365170c
this is a pretty big commit which mainly contains a refactor and breaking change to how command completions are done. before that, a hilbish.completion interface has been added which for now just has 2 functions (`files` and `bins`) for completions of normal files and executables. hilbish.complete is now expected to return a table of "completions groups," which are as the name suggests a group for a completion. a completion group is a table which has the fields `type`, which can be either `list` or `grid`, and `items`, being an array (or string keyed table) of items if an item is string keyed the item itself is the key name and the value is a table with the first value in it being the description for the item. this description is only applied with the list type. this is probably the longest commit message ive written |
||
---|---|---|
.github | ||
assets | ||
cmd/docgen | ||
docs | ||
emmyLuaDocs | ||
gallery | ||
golibs | ||
libs | ||
util | ||
.gitignore | ||
.gitmodules | ||
.hilbishrc.lua | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
aliases.go | ||
api.go | ||
complete.go | ||
exec.go | ||
go.mod | ||
go.sum | ||
history.go | ||
lua.go | ||
main.go | ||
preload.lua | ||
rl.go | ||
signal_unix.go | ||
signal_windows.go | ||
vars.go | ||
vars_darwin.go | ||
vars_linux.go | ||
vars_windows.go |
README.md
Hilbish is a Unix-y shell which uses Lua for scripting. Things like the prompt, general configuration and such are done with Lua.
For interactive use, it uses a library to run sh which works on all platforms Hilbish can be compiled for. It can also act as a Lua REPL if you want it to be.
Screenshots
Installation
NOTE: Hilbish is currently only officially supported and tested on Linux
Prebuilt binaries
Go here for builds on the master branch.
AUR
Arch Linux users can install Hilbish from the AUR with the following command:
yay -S hilbish
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.
Contributing
Any kind of contributions to Hilbish are welcome! Read CONTRIBUTING.md before getting started.
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