nvim-hs- Haskell plugin backend for neovim

Copyright(c) Sebastian Witte
Safe HaskellNone





neovim :: NeovimConfig -> IO () Source #

This is essentially the main function for nvim-hs, at least if you want to use Config.Dyre for the configuration.

type TransitionHandler a = [Async ()] -> Config RPCConfig -> IO a Source #

A TransitionHandler function receives the ThreadIds of all running threads which have been started by the plugin provider as well as the Config with the custom field set to RPCConfig. These information can be used to properly clean up a session and then do something else. The transition handler is first called after the plugin provider has started.

realMain :: TransitionHandler a -> Maybe (Params NeovimConfig) -> NeovimConfig -> IO () Source #

This main functions can be used to create a custom executable without using the Config.Dyre library while still using the nvim-hs specific configuration facilities.

runPluginProvider Source #


:: CommandLineOptions

See nvim-hs executables --help function or optParser

-> Maybe NeovimConfig 
-> TransitionHandler a 
-> Maybe (Params NeovimConfig) 
-> IO a 

Generic main function. Most arguments are optional or have sane defaults.

finishDyre :: TransitionHandler () Source #

If the plugin provider is started with dyre, this handler is used to handle a restart.