this removes the old "virtual global table" which allows getting environment variables via just their names in lua. this means: an environment variable (like TERM) would need to be accessed via the `env` table instead of just using TERM in lua. `TERM` -> `env.TERM` they can also be set via `env.VARIABLE = 'value' |
||
---|---|---|
.github | ||
assets | ||
cmd/docgen | ||
docs | ||
emmyLuaDocs | ||
gallery | ||
golibs | ||
libs | ||
nature | ||
readline | ||
testplugin | ||
util | ||
website | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.hilbishrc.lua | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
Taskfile.yaml | ||
aliases.go | ||
api.go | ||
complete.go | ||
editor.go | ||
exec.go | ||
execfile_unix.go | ||
execfile_windows.go | ||
go.mod | ||
go.sum | ||
hilbish-git.spec | ||
history.go | ||
init_windows.go | ||
job.go | ||
job_unix.go | ||
job_windows.go | ||
lua.go | ||
main.go | ||
module.go | ||
os.go | ||
pprof.go | ||
rl.go | ||
rpkg.conf | ||
rpkg.macros | ||
runnermode.go | ||
signal_unix.go | ||
signal_windows.go | ||
sink.go | ||
timer.go | ||
timerhandler.go | ||
userdir.go | ||
vars.go | ||
vars_darwin.go | ||
vars_linux.go | ||
vars_windows.go |
README.md
🌓 The Moon-powered shell! A comfy and extensible shell for Lua fans! 🌺 ✨
Hilbish is an extensible shell designed to be highly customizable. It is configured in Lua and provides a good range of features. It aims to be easy to use for anyone but powerful enough for those who need it.
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!
Screenshots
![](/sammyette/Hilbish/media/branch/env-table/gallery/tab.png)
![](/sammyette/Hilbish/media/branch/env-table/gallery/pillprompt.png)
Getting Hilbish
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. If you want to contribute to make the situation better, comment on the Windows discussion.
You can check the install page on the website for distributed binaries from GitHub or other package repositories. Otherwise, continue reading for steps on compiling.
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