Go to file
sammyette a655ff00ce
feat: use custom exec handler for sh interpreter
so, here we use a custom function for the sh interpreter to run
individual commands now. what does this mean?
1. aliases will work not only on the 1st command, since it was
replaced in the beginning before.
want to run `cmd; alias`? now you can!
2. custom error message when a command isnt found :} i can also
add the command.not-found hook (will do in next commit)
3. sh and lua can be mixed (not in this commit, but itll work)

this means all code for handling commands is in the single `execCommand`
function in shell.go and will probably able to clean things up soon,
ditching the `RunInput` function entirely
2021-05-18 20:49:55 -04:00
.github docs: added CONTRIBUTING.md and a pull request template (#32) 2021-04-08 10:28:56 -04:00
gallery docs: add screenshots of hilbish 2021-04-08 14:03:26 -04:00
golibs refactor: use lua.Check<Type> where possible (resolves #40) 2021-05-01 13:42:15 -04:00
libs feat: add lunacolors library 2021-05-01 16:05:02 -04:00
.gitignore chore: update .gitignore 2021-04-09 18:22:28 -04:00
.gitmodules feat: add lunacolors library 2021-05-01 16:05:02 -04:00
.hilbishrc.lua fix: use new way to get username in default config 2021-05-16 17:40:55 -04:00
CONTRIBUTING.md docs: more content to CONTRIBUTING.md 2021-04-08 14:47:15 -04:00
LICENSE Initial commit 2021-03-19 10:26:58 -04:00
Makefile build: add link flags -s and -w to build 2021-05-17 19:38:53 -04:00
README.md docs: add additional build instructions 2021-05-17 19:37:53 -04:00
go.mod chore(deps): update dependencies 2021-05-18 20:40:41 -04:00
go.sum chore(deps): update dependencies 2021-05-18 20:40:41 -04:00
hilbish.go feat: add hilbish.flag function 2021-05-16 18:10:46 -04:00
lua.go refactor: make `hilbish` an already required module and add run function 2021-05-16 17:13:28 -04:00
main.go feat: make readline agnostic, add hilbiline to test 2021-05-17 19:03:56 -04:00
preload.lua fix(cd): return err code of fs.cd instead of 1 specifically 2021-05-11 18:57:54 -04:00
rl.go feat: make readline agnostic, add hilbiline to test 2021-05-17 19:03:56 -04:00
rl_hilbiline.go feat: make readline agnostic, add hilbiline to test 2021-05-17 19:03:56 -04:00
shell.go feat: use custom exec handler for sh interpreter 2021-05-18 20:49:55 -04:00
shell.nix feat: adds shell.nix (#26) 2021-04-18 15:51:25 +00:00

README.md

Hilbish

🎀 a nice lil shell for lua people made with go and lua

help wanted

Hilbish is an interactive Unix-like shell written in Go, with the config and other code written in Lua.
It is sort of in a stable state currently, usable as a daily shell, but there may still be breaking changes in Lua modules.

Screenshots





Links

Building

Prebuilt binaries are not yet provided, so to try it out you'll have to manually compile.

NOTE: Hilbish is currently only officially supported and tested on Linux

Prerequisites

On Fedora, readline can be installed with:

sudo dnf install readline-devel

On Debian/Ubuntu and distros based on them, it can be installed with:

sudo apt install libreadline-dev

On OpenSUSE, it can be installed with:

sudo zypper install readline-devel

Install

First, clone Hilbish:

git clone --recursive https://github.com/Hilbis/Hilbish
cd Hilbish

Then build and install:

make dev
sudo make install
# Or 
sudo make all

Or, if you want the latest stable release:

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

Alternatively, if you use Arch Linux, you can compile Hilbish with an (unofficial) AUR package:

yay -S hilbish

If you want the latest and greatest, you can install and compile from latest git commit:

yay -S hilbish-git

Uninstall

sudo make uninstall

Contributing

Any kind of contributions to Hilbish are welcome!
Make sure to read CONTRIBUTING.md before getting started.

Special Thanks To

Everyone here who has contributed:

Made with contributors-img.

Credits

  • This blog post which is how Hilbish now inserts a newline even if output doesn't have one.

License

Hilbish is licensed under the MIT license.
Read here for more info.