Copyright | (c) Sebastian Witte |
---|---|
License | Apache-2.0 |
Maintainer | woozletoff@gmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
- 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 Object Source
Extract the function of an ExportedFunctionality
.
getDescription :: ExportedFunctionality r st -> 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.
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 NeovimPlugin Source
Wrap a Plugin
in some nice blankets, so that we can put them in a simple
list.