Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tek/ribosome
A Neovim plugin host and framework for Haskell
https://github.com/tek/ribosome
haskell neovim polysemy
Last synced: about 2 months ago
JSON representation
A Neovim plugin host and framework for Haskell
- Host: GitHub
- URL: https://github.com/tek/ribosome
- Owner: tek
- Created: 2018-12-28T16:23:57.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2024-09-14T16:12:22.000Z (4 months ago)
- Last Synced: 2024-10-29T23:13:25.801Z (2 months ago)
- Topics: haskell, neovim, polysemy
- Language: Haskell
- Homepage: https://git.tryp.io/tek/ribosome
- Size: 2.06 MB
- Stars: 19
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Overview
_Ribosome_ is a suite of libraries for building [Neovim](https://neovim.io) remote plugins in Haskell, using the
algebraic effect system [Polysemy](https://hackage.haskell.org/package/polysemy) as its foundation.Its components are:
* [ribosome](https://hackage.haskell.org/package/ribosome/docs/Ribosome.html) High-level functionality for writing
plugins
* [ribosome-host](https://hackage.haskell.org/package/ribosome-host/docs/Ribosome-Host.html) MessagePack RPC server and
TH-generated API functions
* [ribosome-host-test](https://hackage.haskell.org/package/ribosome-host-test/docs/Ribosome-Host-Test.html) Test
utilities for `ribosome-host`
* [ribosome-test](https://hackage.haskell.org/package/ribosome-test/docs/Ribosome-Test.html) Test utilities for
`ribosome`
* [ribosome-menu](https://hackage.haskell.org/package/ribosome-menu/docs/Ribosome-Menu.html) A fuzzy-finder menu tool# Quickstart
Install the [Nix package manager](https://nixos.org/learn.html) and generate a skeleton project by running:
```bash
$ nix run 'github:tek/ribosome#new'
```The new project will contain configuration for Github Actions that release binary executables on each push that will be
downloaded automatically when a user starts the plugin for the first time, with support for pushing to and downloading
from [Cachix](https://app.cachix.org/).After initial generation, the Github Actions and Neovim boot files can be regenerated by running:
```bash
$ nix run '.#boot'
```