ribosome-0.9.9.9: Neovim plugin framework for Polysemy
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ribosome.IOStack

Description

Interpreters for basic plugin effects down to IO

Synopsis

Documentation

type BasicPluginStack c = Reader PluginName ': (Reader (CustomConfig c) ': BasicStack) Source #

The effects that are shared by all variants (like embedded, remote, socket) of main functions.

Contains logging effects, IO related stuff and the plugin's name in a Reader.

runBasicPluginStack :: PluginName -> HostConfig -> c -> Sem (BasicPluginStack c) () -> IO () Source #

Execute the basic plugin stack all the way to an IO, given the plugin name and logging settings.

runCli :: PluginConfig c -> Sem (BasicPluginStack c) () -> IO () Source #

Execute the basic plugin stack all the way to an IO like runBasicPluginStack, reading config overrides from command line options.