| Copyright | (c) Sebastian Witte |
|---|---|
| License | Apache-2.0 |
| Maintainer | woozletoff@gmail.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
Neovim.Plugin.Internal
Description
- 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 = 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.
Constructors
| EF (FunctionalityDescription, [Object] -> Neovim r st Object) |
Instances
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.
Constructors
| NeovimPlugin (Plugin r st) |
This data type contains meta information for the plugin manager.
Constructors
| Plugin | |
Fields
| |
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.