Commit Graph

994 Commits (731b3db2de55553b1e8c10e212b179e4297c1f52)

Author SHA1 Message Date
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
TorchedSammy c4eb3ad368
chore: change lua init errors to make more sense 2022-04-30 20:31:37 -04:00
TorchedSammy 0642ddda36
fix: push home dir to recent dirs with correct function 2022-04-30 20:28:47 -04:00
TorchedSammy b210378380
ci: remove .exe from windows artifact names 2022-04-30 12:08:54 -04:00
TorchedSammy 03cb9c06f3
ci: fix release builds; make them include lua libs and nature lib 2022-04-30 12:08:39 -04:00
TorchedSammy c929c7602f
ci: checkout submodules 2022-04-30 12:00:41 -04:00
TorchedSammy e678ef66d8
docS: update changelogs for master
800th commit!
2022-04-30 12:00:01 -04:00
TorchedSammy d053b58204
ci: indent list of files 2022-04-30 10:50:06 -04:00
TorchedSammy eb3123405a
ci: fix list of files for artifact build 2022-04-30 10:48:32 -04:00
TorchedSammy f12f88ed00
ci: include all required files in build artifacts 2022-04-30 10:45:55 -04:00
TorchedSammy 3bad452f95
fix: load completions by default 2022-04-24 09:00:06 -04:00
TorchedSammy 2790982ad1
fix: no command completions if query/line is an alias
basically, i have a `c` alias which is `git commit`,
this would resolve to `git commit` literally to try
and complete `commit`, which wouldnt match.
this fixes that, and instead itll suggest commands
that start with `c`. if there is a space after and
completion is requested, itll use the alias properly
2022-04-24 00:06:19 -04:00