idanarye/nvim-channelot

github github
terminal-integration
stars 6
issues 2
subscribers 2
forks 0
CREATED

2022-11-02

UPDATED

4 months ago


CI Status

INTRODUCTION

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

FEATURES (IMPLEMENTED/PLANNED)

  • 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.

CONTRIBUTION GUIDELINES

  • 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.