Portability | GHC |
---|---|
Stability | experimental |
Maintainer | woozletoff@gmail.com |
Safe Haskell | None |
- newtype ExportedFunctionality r st = EF (FunctionalityDescription, [Object] -> Neovim r st Object)
- getFunction :: ExportedFunctionality r st -> [Object] -> Neovim r st Object
- getDescription :: ExportedFunctionality r st -> FunctionalityDescription
- data NeovimPlugin = forall r st . NeovimPlugin (Plugin r st)
- data Plugin r st = Plugin {
- exports :: [ExportedFunctionality () ()]
- statefulExports :: [(r, st, [ExportedFunctionality r st])]
- wrapPlugin :: Monad m => Plugin r st -> m NeovimPlugin
Documentation
newtype ExportedFunctionality r st Source
This data type is used in the plugin registration to properly register the functions.
EF (FunctionalityDescription, [Object] -> Neovim r st Object) |
getFunction :: ExportedFunctionality r st -> [Object] -> Neovim r st ObjectSource
Extract the function of an ExportedFunctionality
.
getDescription :: ExportedFunctionality r st -> FunctionalityDescriptionSource
Extract the description of an ExportedFunctionality
.
data NeovimPlugin Source
Plugin
values are wraped inside this data type via wrapPlugin
so that
we can put plugins in an ordinary list.
forall r st . NeovimPlugin (Plugin r st) |
This data type contains meta information for the plugin manager.
Plugin | |
|
wrapPlugin :: Monad m => Plugin r st -> m NeovimPluginSource
Wrap a Plugin
in some nice blankets, so that we can put them in a simple
list.