Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/idanarye/nvim-channelot
Operate Neovim jobs from Lua coroutines
https://github.com/idanarye/nvim-channelot
lua neovim shell terminal
Last synced: about 2 months ago
JSON representation
Operate Neovim jobs from Lua coroutines
- Host: GitHub
- URL: https://github.com/idanarye/nvim-channelot
- Owner: idanarye
- License: mit
- Created: 2022-11-02T22:30:39.000Z (about 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-28T16:34:36.000Z (8 months ago)
- Last Synced: 2024-10-14T18:41:32.684Z (about 2 months ago)
- Topics: lua, neovim, shell, terminal
- Language: Lua
- Homepage:
- Size: 43 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-neovim - idanarye/nvim-channelot - Operate Neovim jobs from Lua coroutines. (Terminal Integration / CSV Files)
README
[![CI Status](https://github.com/idanarye/nvim-channelot/workflows/CI/badge.svg)](https://github.com/idanarye/channelot/actions)
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](https://github.com/idanarye/nvim-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)
==============================- [x] Control jobs from coroutines.
- [x] Run jobs in automatic terminal, manually managed terminal, or no terminal.
- [x] Environment variables.
- [x] Waiting for a job to finish.
- [x] Iterating over job output.
- [x] 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](https://github.com/sumneko/lua-language-server/wiki/Annotations) and [lemmy-help](https://github.com/numToStr/lemmy-help/blob/master/emmylua.md). 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](http://keepachangelog.com/en/1.0.0/) format.