| 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
Synopsis
- newtype ExportedFunctionality env = EF (FunctionalityDescription, [Object] -> Neovim env Object)
- getFunction :: ExportedFunctionality env -> [Object] -> Neovim env Object
- getDescription :: ExportedFunctionality env -> FunctionalityDescription
- data NeovimPlugin = forall env. 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.
Constructors
| EF (FunctionalityDescription, [Object] -> Neovim env Object) |
Instances
| HasFunctionName (ExportedFunctionality env) Source # | |
Defined in Neovim.Plugin.Internal Methods name :: ExportedFunctionality env -> FunctionName Source # nvimMethod :: ExportedFunctionality env -> NvimMethod 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.
Constructors
| forall env. NeovimPlugin (Plugin env) |
This data type contains meta information for the plugin manager.
Constructors
| Plugin | |
Fields
| |
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.