All Projects → tek → ribosome-py

tek / ribosome-py

Licence: MIT license
neovim python plugin framework

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ribosome-py

hookuspocus
hooks for all the functions!
Stars: ✭ 60 (+400%)
Mutual labels:  functional
treecko
A collection of functional and immutable helpers for working with tree data structures.
Stars: ✭ 31 (+158.33%)
Mutual labels:  functional
TypeInferencer
Algorithm W and Algorithm M in F#
Stars: ✭ 33 (+175%)
Mutual labels:  functional
sqlconstruct
Functional approach to query database using SQLAlchemy
Stars: ✭ 22 (+83.33%)
Mutual labels:  functional
snap
Snap Programming Language
Stars: ✭ 20 (+66.67%)
Mutual labels:  functional
iterum
Handling iterables like lazy arrays.
Stars: ✭ 28 (+133.33%)
Mutual labels:  functional
vector
A PHP functional programming library.
Stars: ✭ 19 (+58.33%)
Mutual labels:  functional
Functional-Light-JS-Zh
《Functional-Light-JS》中文翻译
Stars: ✭ 14 (+16.67%)
Mutual labels:  functional
vallang
Generic immutable recursive data representation API targeted at source code models and more.
Stars: ✭ 28 (+133.33%)
Mutual labels:  functional
rudash
Rudash - Lodash for Ruby Apps
Stars: ✭ 27 (+125%)
Mutual labels:  functional
apropos
Fast strong typed 'Either' data structure for typescript and flow
Stars: ✭ 20 (+66.67%)
Mutual labels:  functional
salt
The compilation target that functional programmers always wanted.
Stars: ✭ 62 (+416.67%)
Mutual labels:  functional
zio-http4s-example
For anyone who's struggling to put an http4s server together with ZIO
Stars: ✭ 19 (+58.33%)
Mutual labels:  functional
ramda
🦋Practical functional Go
Stars: ✭ 14 (+16.67%)
Mutual labels:  functional
pygears
HW Design: A Functional Approach
Stars: ✭ 122 (+916.67%)
Mutual labels:  functional
go-callbag
golang implementation of Callbag
Stars: ✭ 19 (+58.33%)
Mutual labels:  functional
stream
Go Stream, like Java 8 Stream.
Stars: ✭ 60 (+400%)
Mutual labels:  functional
conjson
(conventional, consistent, conformative) JSON - A simple, functional, no-tags-required mechanism to handle and transform JSON representations of values, consistently.
Stars: ✭ 47 (+291.67%)
Mutual labels:  functional
potassium
A framework for writing robot software with functional programming in Scala
Stars: ✭ 16 (+33.33%)
Mutual labels:  functional
func-dependency-injection-go
Dependency injection example using higher order functions
Stars: ✭ 26 (+116.67%)
Mutual labels:  functional

Intro

Note: this project is deprecated and not maintained anymore. Try the new Haskell version instead!

ribosome is a framework for building and testing neovim python remote plugins. It builds on the official neovim-python host, providing a more flexible and modular startup mechanism.

Plugins built with ribosome can be conveniently managed by chromatin.

Definition

ribosome plugins are defined declaratively. Configuration is contained in a single instance of class Config, which is located by the plugin host by importing the main module and analyzing the __all__ attribute. The minimal requirement is the plugin name:

from ribosome.config import Config

config = Config(name='counter')

__all__ = ('config',)

Starting

The recommended way to launch a ribosome plugin is to use chromatin.

At runtime, a plugin can be added with:

Cram /path/to/package counter

To load the plugin automatically on start:

let g:chromatin_rplugins = [
  \ {
  \   'name': 'counter',
  \   'spec': '/path/to/package',
  \ }
  \ ]

The directory in spec has to be a package that pip can install, containing a setup.py.

To test a plugin without chromatin, it can be started manually:

call jobstart()

Request Handlers

Components and Messages

Settings

Documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].