Go to file
sammyette b6315639b2
feat: add getChar function to editor interface
this is a simple command that returns a single key from the user.
this can be used to read keystrokes in an interactive program
like how greenhouse (the pager) does it
2023-07-09 16:27:11 -04:00
.github ci: set baseurl properly 2023-04-14 01:25:14 -04:00
assets refactor: website/branding cleanup (#250) 2023-04-14 00:04:52 -04:00
cmd/docgen docs: add docs for sink type (closes #233) 2023-02-07 15:39:22 -04:00
docs docs: [ci] generate new docs 2023-04-15 14:36:56 +00:00
emmyLuaDocs docs: [ci] generate new docs 2023-04-15 14:36:56 +00:00
gallery chore: upload gallery image 2022-12-28 20:24:59 -04:00
golibs docs: fix return types for functions (closes #229) 2023-02-07 18:18:03 -04:00
libs chore: update lunacolors 2022-12-05 14:16:43 -04:00
nature feat: add getChar function to editor interface 2023-07-09 16:27:11 -04:00
readline feat: add getChar function to editor interface 2023-07-09 16:27:11 -04:00
util refactor: remove doc prop related code 2022-12-20 00:54:05 -04:00
website website: add more info for runner mode 2023-04-14 00:40:41 -04:00
.editorconfig chore: add .editorconfig file (#217) 2022-12-01 09:29:27 -04:00
.gitignore docs: document types properly (#227) 2023-01-18 06:39:26 -04:00
.gitmodules chore: update lunacolors 2022-03-13 16:37:33 -04:00
.hilbishrc.lua refactor!: move hilbish.greeting to an opt (closes #184) 2022-07-09 17:15:13 -04:00
CHANGELOG.md fix: merge patch releases with master (#248) 2023-04-10 12:38:30 -04:00
CONTRIBUTING.md docs: update contributing info to include writing changes to changelog 2022-05-30 18:16:36 -04:00
LICENSE chore: update license 2023-01-20 19:35:33 -04:00
README.md refactor: website/branding cleanup (#250) 2023-04-14 00:04:52 -04:00
Taskfile.yaml fix: replace sed with vgrep (#238) 2023-02-18 20:02:52 -04:00
aliases.go docs: fix return type for hilbish.aliases.list 2023-01-07 11:52:05 -04:00
api.go docs: clarify use of highlighter function 2023-04-15 10:36:21 -04:00
complete.go docs: fix return types for functions (closes #229) 2023-02-07 18:18:03 -04:00
editor.go feat: add getChar function to editor interface 2023-07-09 16:27:11 -04:00
exec.go feat: add sink for commanders to write output/read input (#232) 2023-01-20 19:07:42 -04:00
execfile_unix.go feat: job enhancements (#153) 2022-05-21 20:53:36 -04:00
execfile_windows.go feat: job enhancements (#153) 2022-05-21 20:53:36 -04:00
go.mod chore: update golua for popen (#172) 2022-12-13 15:37:01 -04:00
go.sum chore: update golua for popen (#172) 2022-12-13 15:37:01 -04:00
hilbish-git.spec chore: add rpm spec file (package for copr/fedora) (#220) 2022-12-19 23:19:48 -04:00
history.go perf: preallocate history slice 2022-11-30 13:20:00 -04:00
init_windows.go fix: set vt in on stdin 2022-07-13 15:11:06 -04:00
job.go docs: add docs for sink type (closes #233) 2023-02-07 15:39:22 -04:00
job_unix.go feat: implement job foregrounding/backgrounding (#155) 2022-05-24 19:15:02 -04:00
job_windows.go feat: implement job foregrounding/backgrounding (#155) 2022-05-24 19:15:02 -04:00
lua.go feat: add sink for commanders to write output/read input (#232) 2023-01-20 19:07:42 -04:00
main.go fix: initialize lua api before handling signals (fixes #236) 2023-02-01 19:56:27 -04:00
os.go refactor: remove doc prop related code 2022-12-20 00:54:05 -04:00
rl.go docs: fix return types for functions (closes #229) 2023-02-07 18:18:03 -04:00
rpkg.conf chore: add rpm spec file (package for copr/fedora) (#220) 2022-12-19 23:19:48 -04:00
rpkg.macros chore: add rpm spec file (package for copr/fedora) (#220) 2022-12-19 23:19:48 -04:00
runnermode.go docs: improve emmy lua annotations 2022-12-20 20:59:55 -04:00
signal_unix.go refactor: use custom event emitter (#193) 2022-08-17 18:01:32 -04:00
signal_windows.go refactor: use custom event emitter (#193) 2022-08-17 18:01:32 -04:00
sink.go docs: update doc strings for sink read functions 2023-04-14 00:45:30 -04:00
timer.go docs: add docs for sink type (closes #233) 2023-02-07 15:39:22 -04:00
timerhandler.go docs: document types properly (#227) 2023-01-18 06:39:26 -04:00
userdir.go refactor: remove doc prop related code 2022-12-20 00:54:05 -04:00
vars.go fix: merge patch releases with master (#248) 2023-04-10 12:38:30 -04:00
vars_darwin.go refactor: (re)organize and change prelude path and structure 2022-04-23 00:03:50 -04:00
vars_linux.go build!: set datadir of hilbish and change default prefix to /usr/local (#221) 2022-12-12 21:01:44 -04:00
vars_windows.go fix: add dot to sample config path on windows 2022-08-16 12:30:39 -04:00

README.md


🌓 The Moon-powered shell! A comfy and extensible shell for Lua fans! 🌺

GitHub commit activityGitHub commits since latest release (by date)GitHub contributors
help wanted GitHub license Discord

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

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

  • 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