Commit Graph

1055 Commits (8fdae6c1d7fd066fa00f79f4bbcbc967a71c12df)

Author SHA1 Message Date
TorchedSammy 453ba9f8ad
feat(fs): add some functions and properties (closes #168) 2022-06-20 16:47:16 -04:00
TorchedSammy 3e807f5235
fix: handle lua eval errors and normal runner errors separately 2022-06-20 15:47:19 -04:00
TorchedSammy 7e57b3de7d
fix: check if input is 0 on multiline splitting (closes #170) 2022-06-20 15:35:25 -04:00
sammyette 226605a996
feat: allow runners to specify if they want more input (#162)
* 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
2022-06-02 22:33:30 -04:00
TorchedSammy 1b4b41846f
chore: merge from remote branch 2022-05-31 15:17:50 -04:00
TorchedSammy 3196f0dcb9
fix: don't refetch tab completion on refresh if its already open (closes #163) 2022-05-31 15:16:32 -04:00
TorchedSammy 3f745e7e4d
docs: update contributing info to include writing changes to changelog 2022-05-30 18:16:36 -04:00
TorchedSammy f9a2a981b4
fix: revert "fix: multiline cursor redraw"
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
2022-05-29 19:02:20 -04:00
TorchedSammy 1339dc4a2f
fix: multiline cursor redraw 2022-05-28 21:05:03 -04:00
TorchedSammy b4a5746093
ci: use make to build for artifacts 2022-05-28 20:21:57 -04:00
TorchedSammy 2faaf4e045
fix: print err don't panic and in the case of regex compile failing on menu find 2022-05-28 20:19:49 -04:00
sammyette 3990d370fa
feat: extend hilbish.runner interface to allow multiple runners (#159) 2022-05-28 19:06:18 -04:00
sammyette b28a2c24c1
refactor!: use userdata where appropriate (#157)
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
2022-05-28 19:03:44 -04:00
TorchedSammy e3c25586e4
fix: broken ansi escape codes on windows cmd 2022-05-28 09:07:28 -04:00
TorchedSammy 9d385efbfc
docs: add new methods for job objects 2022-05-24 19:32:03 -04:00
TorchedSammy d99c24842f
docs: update changelog 2022-05-24 19:31:51 -04:00
TorchedSammy 61271dc70c
fix: load bg command on init 2022-05-24 19:26:35 -04:00
sammyette 8697344f98
feat: implement job foregrounding/backgrounding (#155) 2022-05-24 19:15:02 -04:00
TorchedSammy d65b574cb2
docs: fix typo in job hook docs 2022-05-22 07:29:01 -04:00
TorchedSammy d808534da6
perf: use waitgroup instead of loop to wait on timers 2022-05-21 21:58:58 -04:00
TorchedSammy a4b358fd9c
perf: use struct{} for done channel in timer instead of bool 2022-05-21 21:39:14 -04:00
TorchedSammy 8f6f27e647
docs: add docs for lunacolors (closes #144) 2022-05-21 21:28:06 -04:00
TorchedSammy f888aabc80
chore!: update lunacolors 2022-05-21 21:26:34 -04:00
TorchedSammy 2572d0ea9e
docs: update changelog with latest changes 2022-05-21 21:11:59 -04:00
sammyette d2f16dfbbf
feat: job enhancements (#153)
* feat: add hilbish.job.add function

this is mainly to accomodate for the employer
handler (#152)

* feat!: add start function to jobs

the commit itself adds a few things but the
main purpose is to facilitate a lua side start
function that can restart the job

there is a breaking change in the hilbish.job.add
function; it is now required to provide an extra
table for arguments, since the first cmd
table isnt really what's actually ran

* fix: reuse standard files for jobs

* fix: deadlock in lua job add function and not taking proper amount of args

* fix: assign binary path to job

* feat: emit job.add hook when job is added

* chore: update modules

* fix: use setpgid on cmd procattr for background jobs

* fix: use right procattr on correct os

* fix: set bg proc attr in build tagged file

* feat: add disown function

* fix: stop jobs on exit

* feat: add disown command

* feat: add jobs.last function to get last job

* feat: make disown command get last job if id isnt suppied as arg

* chore: remove unused code

* feat: add job output

* chore: fix comments

* fix!: make exec path in job add explicit in lua side

* docs: add docs and changelogs relating to jobs
2022-05-21 20:53:36 -04:00
TorchedSammy 392cb66382
fix: handle sigterm and remove obsolete code 2022-05-21 20:53:02 -04:00
TorchedSammy 0b07b93de2
docs: move nature docs into a folder 2022-05-19 21:56:03 -04:00
TorchedSammy 8b6506b36c
refactor: move out home abbreviating code to a util function 2022-05-17 21:37:42 -04:00
TorchedSammy ab8b9c8376
feat: add hilbish.version interface 2022-05-17 06:39:30 -04:00
TorchedSammy 5dd2af7250
fix: add release name to version 2022-05-17 06:39:05 -04:00
TorchedSammy ac21109307
fix: change how version is retrieved 2022-05-16 19:36:34 -04:00
TorchedSammy cb88db8cfc
feat: add hilbish.vim interface (closes #114) 2022-05-13 20:52:48 -04:00
TorchedSammy 960909b81d
fix: typo in editor interface 2022-05-13 20:52:30 -04:00
TorchedSammy dc933934eb
feat: add hilbish.editor interface
this is going to be a middle level interface
which brings functions for interacting
with the line editor used in hilbish

adds the following functions:
setVimRegister(reg, text) - sets text in a vim register
getVimRegister(reg) - gets text from a vim register
insert(text) - inserts text into the line
accessible via hilbish.editor
2022-05-13 20:43:40 -04:00
TorchedSammy 827c25fb57
feat: add hilbish.job.add function
this is mainly to accomodate for the employer
handler (#152)
2022-05-13 17:08:15 -04:00
TorchedSammy 3374dfd28f
fix: always start job in exec handler
makes sure that if any errors occur the job
will still throw the start hook
2022-05-13 16:59:16 -04:00
TorchedSammy 9a87d76969
fix: finish job on lua job stop function
makesdoc  sure that a job is finalized by throwing
the job.done hook and setting its running status
to false
2022-05-12 22:29:07 -04:00
TorchedSammy 200fe1054f
fix: pass user input to runner function instead of expanded alias 2022-05-11 21:13:29 -04:00
TorchedSammy 52a58b14c3
docs: update nature doc to have new correct info 2022-05-08 16:03:44 -04:00
TorchedSammy 15035c02cb
fix(doc): check if modmt exists before trying to get module prop docs 2022-05-08 16:02:24 -04:00
Renzix dd678a4a75
fix: Not loading nature module on some systems (#150) 2022-05-08 16:01:06 -04:00
TorchedSammy 0a01ed862c
feat: print error if nature is missing 2022-05-06 19:21:32 -04:00
TorchedSammy 200babf831
chore: merge 2022-05-06 19:06:57 -04:00
TorchedSammy d6bc8b51de
ci: fix missing files on either oses 2022-05-06 19:06:06 -04:00
sammyette 86700c0a7b
ci: add codeql code scanning 2022-05-06 12:20:41 -04:00
TorchedSammy 30b07bc98b
fix: check if path has tilde prefix when trying to expand home 2022-05-01 07:20:40 -04:00
TorchedSammy db437905e0
fix: implicitly expand tilde on args to all fs functions 2022-05-01 00:49:59 -04:00
TorchedSammy c890b86e08
feat: add hilbish.opts and autocd opt
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
2022-04-30 21:22:37 -04:00
TorchedSammy a8406657f9
fix: remove nature hook handles
since it was only for command exec errors,
and theyre handled runner side now, we dont
have to handle it via hooks anymore
2022-04-30 21:05:21 -04:00
TorchedSammy 4178b78341
fix: return other errors from sh runner
makes it so that the sh runner function will return
command not found and not executable errors,
which makes them able to be handled via lua properly
2022-04-30 21:02:36 -04:00