Go to file
sammyette 0a0f2e2c38
fix: implement go lua library loading
and remove debug symbol stripping flags when building
on midnight
2024-12-22 01:09:24 -04:00
.github ci: add midnight edition on build name 2024-07-21 12:24:10 -04:00
assets chore: upload midnight edition logo 2024-07-19 17:03:56 -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-04-28 01:29:33 +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: attempt to implement more/fix go library loading 2024-12-22 00:03:21 -04:00
libs chore: update lunacolors 2022-12-05 14:16:43 -04:00
moonlight fix: implement go lua library loading 2024-12-22 01:09:24 -04:00
nature fix: check if no command passed to exec (#310) 2024-07-10 10:04:15 -04:00
readline fix: history navigation going out of bounds 2024-06-14 08:23:20 -04:00
testplugin feat: native modules (#257) 2023-11-11 19:39:31 -05:00
util feat: begin initial port to c lua 2024-07-21 11:37:08 -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 chore: update changelog 2024-07-20 10:03:36 -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 feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
Taskfile.yaml fix: implement go lua library loading 2024-12-22 01:09:24 -04:00
aliases.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
api.go fix: implement go lua library loading 2024-12-22 01:09:24 -04:00
complete.go feat: add moonlight lua abstraction library 2024-07-19 16:54:15 -04:00
editor.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
exec.go feat: begin initial port to c lua 2024-07-21 11:37:08 -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 feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
go.sum feat: begin initial port to c lua 2024-07-21 11:37:08 -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 feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
init_windows.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
job.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04: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: implement go lua library loading 2024-12-22 01:09:24 -04:00
lua_exec.go fix: int64/int mixup, missing imports 2024-07-21 11:40:13 -04:00
lua_exec_midnight.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
main.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
module.go feat: implement parts of fs 2024-07-20 11:34:39 -04:00
os.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
pprof.go feat: allow builds for unix (#311) 2024-07-19 09:48:01 -04:00
rl.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
rl_midnight.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
rl_notmidnight.go fix: int64/int mixup, missing imports 2024-07-21 11:40:13 -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 feat: begin initial port to c lua 2024-07-21 11:37:08 -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: begin initial port to c lua 2024-07-21 11:37:08 -04:00
timer.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
timerhandler.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
userdir.go feat: begin initial port to c lua 2024-07-21 11:37:08 -04:00
vars.go chore: update version info 2024-07-20 09:36:42 -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


🌓 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

Midnight Edition

[!CAUTION] This is a HEAVILY WORK IN PROGRESS branch which makes a lot of internal changes. Functionality will be missing if you use this branch, and you may see crashes too. Tread lightly.

Build instructions and progress on Midnight Edition is tracked in this PR: #314

Hilbish: Midinight Edition is a version of Hilbish meant to be compatible with the original C implementation of Lua by using a Go library binding. The end goal is to offer Midnight Edition as a separate, "not as supported" build for users that really want to access a certain library made for C Lua or want the most performance with their Lua code.

The standard edition, which is all native Go, will always be more supported than Midnight Edition.

Back the original README

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.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:

go-task

Or, if you want a stable branch, run these commands:

git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
go-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