Copyright | (c) Sebastian Witte |
---|---|
License | Apache-2.0 |
Maintainer | woozletoff@gmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- newtype ExportedFunctionality env = EF (FunctionalityDescription, [Object] -> Neovim env Object)
- getFunction :: ExportedFunctionality env -> [Object] -> Neovim env Object
- getDescription :: ExportedFunctionality env -> FunctionalityDescription
- data NeovimPlugin = NeovimPlugin (Plugin env)
- data Plugin env = Plugin {
- environment :: env
- exports :: [ExportedFunctionality env]
- wrapPlugin :: Applicative m => Plugin env -> m NeovimPlugin
Documentation
newtype ExportedFunctionality env Source #
This data type is used in the plugin registration to properly register the functions.
EF (FunctionalityDescription, [Object] -> Neovim env Object) |
Instances
HasFunctionName (ExportedFunctionality env) Source # | |
Defined in Neovim.Plugin.Internal name :: ExportedFunctionality env -> FunctionName Source # |
getFunction :: ExportedFunctionality env -> [Object] -> Neovim env Object Source #
Extract the function of an ExportedFunctionality
.
getDescription :: ExportedFunctionality env -> FunctionalityDescription Source #
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.
NeovimPlugin (Plugin env) |
This data type contains meta information for the plugin manager.
Plugin | |
|
wrapPlugin :: Applicative m => Plugin env -> m NeovimPlugin Source #
Wrap a Plugin
in some nice blankets, so that we can put them in a simple
list.