this adds a history handler which will be called
on all history and returns a boolean
to signify whether to include the command
in the history menu or not
it is passed 2 arguments: the user query and
command
* 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
* refactor!: make runners require returning a table
allows for more options for runners in the future,
and makes it so that you can avoid passing
certain args more easily.
* feat: allow runners to specify continue in return to prompt for more input
* docs: update changelog
* refactor: reorder returns of handleSh function
* refactor: move out reprompting and runner handling to functions
makes codefactor happy hopefully. this commit includes
a fix to check if after reprompt the user hits ctrl d
and just exits cleanly
This reverts commit 1339dc4a2f.
this caused a few issues, including
history search messing up previous lines
what this commit was trying to fix is unimportant anyway
any interface which has lua side objects that are from go side for its api (namely jobs) they will use userdata instead of always creating a table to represent the object. this might or might not bring lower ram usage since there is now only 1 single reference to an object instead of always creating a table to expose on lua
breaking change since methods need to be called with a colon instead of dot