Because your terminal should be able to perform tasks asynchronously without external tools!
MIT License
Bot releases are visible (Hide)
https://github.com/mafredri/zsh-async/compare/v1.8.5...v1.8.6
Published by mafredri about 4 years ago
https://github.com/mafredri/zsh-async/compare/v1.8.4...v1.8.5
Published by mafredri about 4 years ago
https://github.com/mafredri/zsh-async/compare/v1.8.3...v1.8.4
Published by mafredri over 4 years ago
Published by mafredri over 4 years ago
Published by mafredri over 4 years ago
https://github.com/mafredri/zsh-async/compare/v1.7.0...v1.8.0
Published by mafredri about 6 years ago
async_worker_eval
for updating the worker environment (#29)
async_worker_eval my_worker cd $PWD
, would change the current working directory inside the worker, which would also be inherited by subsequent jobs$PWD
to every async jobhttps://github.com/mafredri/zsh-async/compare/v1.6.2...v1.7.0
Published by mafredri about 6 years ago
It's been a while since I wrote release notes for zsh-async
, I think it's about time.
v1.5.2
to v1.6.2
async.plugin.zsh
symlink with source
for better compatibilityASYNC_VERSION
environment variableasync_process_results
https://github.com/mafredri/zsh-async/compare/v1.5.1...v1.6.2
Published by mafredri over 7 years ago
async_job
when RC_EXPAND_PARAM
was set (#15), thanks @derimagiaPublished by mafredri almost 8 years ago
SIGWINCH
kill signal is no longer needed to notify when a job is complete)
async_flush_jobs
(via _killjobs
)Full changelog: https://github.com/mafredri/zsh-async/compare/v1.4.0...v1.5.0
Published by mafredri almost 8 years ago
setopt xtrace
or zsh -x
) enabledasync_job
) are now allowed to output NULL-characters ($'\0')typeset -p
quoting (which is insufficient)async_job
async_flush_jobs
) should now be more reliable (previously it did not properly terminate jobs on some systems)zpty
instance) is stoppedasync_process_results
could, in edge cases, discard an incomplete message from $ASYNC_PROCESS_BUFFER[$worker]
, it was rewritten to avoid thisFull changelog: https://github.com/mafredri/zsh-async/compare/v1.3.1...v1.4.0
Published by mafredri almost 8 years ago
items
array in async_process_results
when invoking the callback. For some reason this has worked on older versions of zsh, but is broken in 5.2-dev
.Full changelog: https://github.com/mafredri/zsh-async/compare/v1.3.0...v1.3.1
Published by mafredri about 8 years ago
$line
and $IFS
into callback handler from async_process_results
(43e3d4eb89ec5b8533e43a31e63e675c2816e9dd, c32a5c6dcc9f1adacdb6af2e14983a8d5cfe2185, #6)Full changelog: https://github.com/mafredri/zsh-async/compare/v1.1.0...v1.2.0
Published by mafredri about 8 years ago
cat
process)async_job
and async worker to avoid losing whitespace and newlines (df61b12491e37a02647431438850a37ec7f63b4f, #8)Full changelog: https://github.com/mafredri/zsh-async/compare/v1.2.0...v1.3.0
Published by mafredri almost 9 years ago
This release brings proper support for flushing jobs and leverages ZLE watchers for notifying (instead of kill signals) on zsh versions >=5.1
.
async_flush_jobs
only killed the immediate child running inside a worker. If something else was executed by that child, it would continue running until completion. This was changed to instead send a TERM
-signal to the entire process group thus allowing all task to exit gracefully.kill -WINCH
method of notifying when a job is complete whenever it is available (done through feature detection). Since zsh 5.1
zpty workers return the fd
that was created for them and because of that we can attach a ZLE watcher to the fd that is triggered on output.setopt localtraps
was set.Full changelog: https://github.com/mafredri/zsh-async/compare/v1.0.0...v1.1.0
Published by mafredri over 9 years ago
Biggest feature in this release is the separation of stdout and stderr, introducing a new fifth parameter $5
(for stderr).
Other:
$'\0'
characters are now stripped from the outputChanges: https://github.com/mafredri/zsh-async/compare/v0.2.3...v1.0.0
Published by mafredri over 9 years ago
kill -KILL
(-9
).Published by mafredri over 9 years ago
async_flush_worker
failed to detect any workers and did not clear current jobsasync_job
no longer requires a function for more complicated expressions, you can now use it like so: async_job <worker> 'sleep 1 && echo "very async"