an `error` hook is now thrown when an event in lua
throws an error (errors from go side should not happen)
it includes the event name, handler, and error message
a hooks function has also been added. it returns a table
of handlers for a specific event.
fixes an issue with expanded aliases being added
to history with a recent commit (6th time now with
this issue?) and makes behavior with other runners
consistent
this can technically be a breaking change to people
overriding the sh runner function
this fixes file completion in normal usage without
using quotes. it basically cut out the space at the
end which prevented normal usage without adding an
additional space or using quotes for file
completion
with the previous commit allowing users to override
hilbish.runner.sh and it being ran by hilbish, the
code for the autocd opt can just override that
function and do the autocd functionality instead
of reimplementing a hybrid runner.
this means that if any other custom runner wants
autocd functionality they can have it with the sh runner
* refactor: use custom event emitter
* fix: sigint hook emit on windows
* fix: restore correct hilbish conf file
* fix: call recoverer for go listeners
* refactor(golibs/bait): use 1 map for listeners
* feat: add once listeners, ability to remove listeners and remove listener on error
* perf: reslice listener slice instead of trying to do ordered move with append
* feat(bait): add release function to remove event listener
* perf: remove listener directly from once emit instead of using off function
* refactor: use bait event emitter on commander
* docs(golibs/bait): add doc strings for functions
* docs: set changelog
* docs(golibs/bait): add docs for lua release function
* refactor: put file history handler in line reader instance instead of global
* feat: add lua history handler in go
* feat: use lua to retrieve readline history
* refactor: handle history in lua
this also introduces a new opt: history
if it is false, command history won't get added
* fix: remove nature.history require
* docs: add changes in changelog
* fix: add comma after history opt
* build!: replace make with task
allows easy windows building (besides literally go build)
down the line because getting make on windows is dumb
and even if you do it probably wouldnt work as intended
on there
(i also find task more intuitive for simple things)
* ci: use task in build workflow instead of make
* style: remove whitespace errors in task file
* docs: add task in changelog
* docs: fix link to task
* docs: change message for task notice