Go to file
sammyette dbd8cb169a
chore: merge from master
2024-12-22 12:07:42 -04:00
.github ci: use wildcard for refs on branch name 2024-07-20 10:24:56 -04:00
assets refactor: website/branding cleanup (#250) 2023-04-14 00:04:52 -04:00
cmd/docgen feat: allow hilbish.run to take a table of files to use for output (#291) 2024-04-27 21:03:54 -04:00
docs docs: [ci] generate new docs 2024-08-16 19:26:30 +00:00
emmyLuaDocs docs: [ci] generate new docs 2024-04-28 01:29:33 +00:00
gallery chore: upload gallery image 2022-12-28 20:24:59 -04:00
golibs fix: get absolute path in fs.cd function 2024-07-27 14:28:09 -04:00
libs chore: update lunacolors 2022-12-05 14:16:43 -04:00
nature chore: revert "chore: add 2.4 motd (work in progress)" 2024-11-04 06:51:31 -04:00
readline refactor: move hint insert to function 2024-12-22 12:07:26 -04:00
testplugin feat: native modules (#257) 2023-11-11 19:39:31 -05:00
util feat: add fuzzy searching for completion and history search (#247) 2023-07-10 00:06:29 -04:00
website blog: add v2.3 release blog 2024-07-20 10:14:16 -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 feat: add notification/message interface (#239) 2023-07-10 19:03:30 -04:00
CHANGELOG.md fix: handle completion info check error (#330) 2024-11-22 20:20:43 -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 docs: add info about runner mode (#325) 2024-08-31 18:05:24 -04:00
Taskfile.yaml feat: native modules (#257) 2023-11-11 19:39:31 -05:00
aliases.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
api.go feat(commander): add function to return all commanders (closes #266) 2024-04-27 21:29:06 -04:00
complete.go fix: handle completion info check error (#330) 2024-11-22 20:20:43 -04:00
editor.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
exec.go fix: add newline at the end of input if in an unfinished heredoc (#322) 2024-08-16 15:26:10 -04:00
execfile_unix.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
execfile_windows.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
go.mod fix: bump golua (closes #326) 2024-11-03 23:24:18 -04:00
go.sum fix: bump golua (closes #326) 2024-11-03 23:24:18 -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 feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
job.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
job_unix.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
job_windows.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
lua.go fix: reuse shell runner instance (#312) 2024-07-20 09:31:57 -04:00
main.go fix: add newline at the end of input if in an unfinished heredoc (#322) 2024-08-16 15:26:10 -04:00
module.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
os.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
pprof.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
rl.go fix: call highlighter and hinter from global table (closes #289) 2024-04-19 07:54:46 -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 fix: add newline at the end of input if in an unfinished heredoc (#322) 2024-08-16 15:26:10 -04:00
signal_unix.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
signal_windows.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
sink.go feat: hilbish native pager (#240) 2023-10-25 00:41:53 -04:00
timer.go docs: add docs for sink type (closes #233) 2023-02-07 15:39:22 -04:00
timerhandler.go refactor: doc improvements (again) (#260) 2023-12-25 22:08:29 -05:00
userdir.go refactor: remove doc prop related code 2022-12-20 00:54:05 -04:00
vars.go chore: bump for bugfix release 2024-11-04 06:54:09 -04:00
vars_darwin.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
vars_unix.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
vars_windows.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00

README.md

[!TIP] Check out Hilbish: Midnight Edition if you want to use C Lua, LuaJIT or anything related!


🌓 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, and powerful enough for those who need more.

The motivation for choosing Lua was that its simpler and better to use than old shell scripts. It's fine for basic interactive shell uses, and supports both Lua and Sh interactively.

That's the only place Hilbish can use traditional shell syntax though; 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.22+
  • 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