License | Apache-2.0 |
---|---|
Maintainer | woozletoff@gmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
- startPluginThreads :: ConfigWrapper r -> [IO NeovimPlugin] -> IO (Either String [(NeovimPlugin, [(ThreadId, [(FunctionalityDescription, FunctionType)])])])
- register :: ConfigWrapper (TMVar FunctionMap) -> [(NeovimPlugin, [(ThreadId, [(FunctionalityDescription, FunctionType)])])] -> IO ()
- wrapPlugin :: Monad m => Plugin r st -> m NeovimPlugin
- data NeovimPlugin
- data Plugin r st = Plugin {
- exports :: [ExportedFunctionality () ()]
- statefulExports :: [(r, st, [ExportedFunctionality r st])]
- data Synchronous
- data CommandOption
Documentation
startPluginThreads :: ConfigWrapper r -> [IO NeovimPlugin] -> IO (Either String [(NeovimPlugin, [(ThreadId, [(FunctionalityDescription, FunctionType)])])]) Source
register :: ConfigWrapper (TMVar FunctionMap) -> [(NeovimPlugin, [(ThreadId, [(FunctionalityDescription, FunctionType)])])] -> IO () Source
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.
data NeovimPlugin Source
This data type contains meta information for the plugin manager.
Plugin | |
|
data Synchronous Source
This option detemines how neovim should behave when calling some functionality on a remote host.
Async | Call the functionality entirely for its side effects and do not wait for it to finish. Calling a functionality with this flag set is completely asynchronous and nothing is really expected to happen. This is why a call like this is called notification on the neovim side of things. |
Sync | Call the function and wait for its result. This is only synchronous on the neovim side. For comands it means that the GUI will (probably) not allow any user input until a reult is received. Functions run asynchronously inside neovim (or in one of its plugin providers) can use these functions concurrently. |
data CommandOption Source
Options for commands.
Some command can also be described by using the OverloadedString extensions.
This means that you can write a literal String
inside your source file in
place for a CommandOption
value. See the documentation for each value on
how these strings should look like (Both versions are compile time checked.)
CmdSync Synchronous | Should neovim wait for an answer ( Stringliteral: "sync" or "async" |
CmdRegister | Register passed to the command. Stringliteral: """ |
CmdNargs String | Command takes a specific amount of arguments Automatically set via template haskell functions. You really shouldn't use this option yourself unless you have to. |
CmdRange RangeSpecification | Determines how neovim passes the range. Stringliterals: "%" for |
CmdCount Int | Command handles a count. The argument defines the default count. Stringliteral: string of numbers (e.g. "132") |
CmdBang | Command handles a bang Stringliteral: "!" |