this removes the old "virtual global table" which allows
getting environment variables via just their names in lua.
this means:
an environment variable (like TERM) would need to be accessed
via the `env` table instead of just using TERM in lua.
`TERM` -> `env.TERM`
they can also be set via `env.VARIABLE = 'value'
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.
this adds `hilbish.opts`, a table to set
simple options akin to shopt or setopt on
other shells. this commit specifically also
includes the autocd opt, which functions the
way you expect it to
to set opts, simply do `hilbish.opts.name = val`,
where `name` is the opt you want to set and `val`
being the opt setting.
ie: `hilbish.opts.autocd = true` to turn on autocd
prelude is no longer. it is now nature.
organized the single file prelude into multiple
source files and renamed it to nature. this is coming
after thought that it can turn into a general hilbish
lua core, with user facing modules as well.
this introduces the `nature.dirs` module, to interact
and get recently changed to directories and last/old
cwd.