| 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 = 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.
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
| forall r st . 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.