nvim-hs-0.0.1: Haskell plugin backend for neovim

LicenseApache-2.0
Maintainerwoozletoff@gmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Neovim.Plugin

Description

 

Synopsis

Documentation

wrapPlugin :: Monad m => Plugin r st -> m NeovimPlugin Source

Wrap a Plugin in some nice blankets, so that we can put them in a simple list.

data Plugin r st Source

This data type contains meta information for the plugin manager.

Constructors

Plugin 

Fields

exports :: [ExportedFunctionality () ()]
 
statefulExports :: [(r, st, [ExportedFunctionality r st])]
 

data Synchronous Source

This option detemines how neovim should behave when calling some functionality on a remote host.

Constructors

Async

Call the functionality entirely for its side effects and do not wait for it to finish. Calling a functionality with this flag set is completely asynchronous and nothing is really expected to happen. This is why a call like this is called notification on the neovim side of things.

Sync

Call the function and wait for its result. This is only synchronous on the neovim side. For comands it means that the GUI will (probably) not allow any user input until a reult is received. Functions run asynchronously inside neovim (or in one of its plugin providers) can use these functions concurrently.

data CommandOptions Source

Options that can be optionally set for commands.

TODO Determine which of these make sense, how they are transmitted back and which options are still missing. (see remoteCommandOnHost in runtime/autoload/remote/define.vim))

Constructors

CommandOptions 

Fields

cmdSync :: Synchronous

Option to indicate whether vim shuould block until the command has completed. (default: Sync)

cmdRange :: Maybe Text

Vim expression for the range (or count). (default: "")

cmdCount :: Bool

If true,

cmdNargs :: Int

Number of arguments. Note that all arguments have to be a string type.

TODO Check this in the Template Haskell functions.

If you're using the template haskell functions for registering commands, this field is overridden by it.

cmdBang :: Bool

Behavior changes when using a bang.