Hilbish: Midnight Edition is a build of Hilbish which uses C Lua via a binding library instead of the natively Go written golua library. This means Hilbish might be able to use C Lua libraries and can be compiled with LuaJIT, which speeds up Lua code.
When this is implemented, Midnight Edition will just be a build tag to swap to it. It will have the Midnight Edition moniker everywhere the Hilbish name shows (so the version flag). There will also be an added hilbish.midnightEdition boolean to indicate if the build is Midnight Edition for plugins.
The standard edition, which is all native Go, will always be more supported than Midnight Edition.
Compiling
Midnight Edition can be compiled by running:
go-task midnight
If you want to switch to LuaJIT, you can set the LUA environment variable, example:
LUA=luajit go-task midnight
It is not recommended to change the version to anything that isn't either Lua 5.4 or
LuaJIT, since Hilbish depends on Lua 5.4 support.
Basics
[x] First Milestone: Compiles with Moonlight abstraction library
[ ] Moonlight: Golua port
[x] Compiles
[x] Starts
[x] Starts (without crashing)
[ ] Exec without errors
[ ] Moonlight: C Lua port
[x] Compiles
[ ] Starts
[ ] Starts (without crashing)
[ ] Exec without errors
Rewrite Libraries to use Moonlight
[ ] Bait
[x] Commander
[ ] FS
[x] Terminal
Modules
[ ] Hilbish
Functions
[x] alias
[x] appendPath
[ ] complete
[x] cwd
[ ] exec
[x] runnerMode
[ ] goro
[ ] highlighter
[ ] hinter
[ ] multiprompt
[ ] prependPath
[ ] prompt
[ ] inputMode
[ ] interval
[ ] read
[ ] run
[ ] timeout
[ ] which
[ ] hilbish.aliases
[ ] hilbish.completion
[ ] hilbish.editor
[ ] hilbish.history
[ ] hilbish.jobs
[ ] hilbish.module
[ ] hilbish.os
[x] hilbish.runner
[ ] hilbish.timers
[x] hilbish.userDir
Functionality
[ ] Aliases
[ ] Runner Mode
[ ] Input Mode
[ ] Hints
[ ] Highlighter
[ ] Job Management
[ ] Vim mode
[ ] Native Modules
[ ] Refactor to make them work with Midnight Edition?
Hilbish: Midnight Edition is a build of Hilbish which uses C Lua via a binding library instead of the natively Go written golua library. This means Hilbish might be able to use C Lua libraries and can be compiled with LuaJIT, which speeds up Lua code.
When this is implemented, Midnight Edition will just be a build tag to swap to it. It will have the Midnight Edition moniker everywhere the Hilbish name shows (so the version flag). There will also be an added
hilbish.midnightEdition
boolean to indicate if the build is Midnight Edition for plugins.The standard edition, which is all native Go, will always be more supported than Midnight Edition.
Compiling
Midnight Edition can be compiled by running:
go-task midnight
If you want to switch to LuaJIT, you can set the LUA environment variable, example:
LUA=luajit go-task midnight
It is not recommended to change the version to anything that isn't either Lua 5.4 or LuaJIT, since Hilbish depends on Lua 5.4 support.
Basics
Rewrite Libraries to use Moonlight
Modules
Functionality
Finishing Touches