Channelot is a library plugin for operating Neovim jobs from a Lua coroutine. It supports:
- Starting jobs, with and without terminals.
- Starting multiple jobs on the same Neovim terminal.
- Job control is done via Lua coroutines - Channelot will resume the coroutine once the job is finished and/or when it outputs new data.
Channelot was created as a supplemental plugin for Moonicipal, but can be used independent of it.
For a more through explanation, please to this section in a blog post about Moonicipal: https://dev.to/idanarye/moonicipal-explained-4h02#cached-buffers-and-channelot-terminals
- Control jobs from coroutines.
- Run jobs in automatic terminal, manually managed terminal, or no terminal.
- Environment variables.
- Waiting for a job to finish.
- Iterating over job output.
- Writing to job's stdin.
- Setting job parameters.
- If your contribution can be reasonably tested with automation tests, add tests.
- Documentation comments must be compatible with both Sumneko Language Server and lemmy-help. If you do something that changes the documentation, please run
make docs
to update the vimdoc. - Update the changelog according to the Keep a Changelog format.