Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Language.LSP.Protocol.Capabilities
Synopsis
- data LSPVersion = LSPVersion Int Int
- type family ClientCapability (m :: Method f t) where ...
- clientCapability :: forall m. SMethod m -> Lens' ClientCapabilities (Maybe (ClientCapability m))
- fullLatestClientCaps :: ClientCapabilities
- fullClientCapsForVersion :: LSPVersion -> ClientCapabilities
- fullClientCapsForVersionAndMethod :: LSPVersion -> SMethod m -> Maybe (ClientCapability m)
- dynamicRegistrationSupported :: SMethod m -> ClientCapabilities -> Bool
- type family ServerCapability (m :: Method f t) where ...
- serverCapability :: forall m. SMethod m -> Lens' ServerCapabilities (Maybe (ServerCapability m))
Documentation
Client capabilities
type family ClientCapability (m :: Method f t) where ... Source #
The client capability associated with a given method.
Where several methods are provided together (e.g. the three callHierarchy
methods), we associate all of them
with the capaiblity, even if there is one "primary" method.
Equations
clientCapability :: forall m. SMethod m -> Lens' ClientCapabilities (Maybe (ClientCapability m)) Source #
A lens which focusses on the (possibly absent) client capability associated with a method.
fullLatestClientCaps :: ClientCapabilities Source #
Client capabilities for full support of the current LSP specification.
fullClientCapsForVersion :: LSPVersion -> ClientCapabilities Source #
Client capabilities for full support of the LSP specification up until a version.
fullClientCapsForVersionAndMethod :: LSPVersion -> SMethod m -> Maybe (ClientCapability m) Source #
Client capabilities for full support of a specific method in the LSP specification up until a version.
dynamicRegistrationSupported :: SMethod m -> ClientCapabilities -> Bool Source #
Whether the client supports dynamic registration for the given method.
Note that here we only consider the "main" method against which you dynamically register, so even though e.g. we associate the client capabilities for code lenses with `codeLens/resolve`, we don't ever say that you can dynamically register `codeLens/resolve`, because you in fact need to register `textDocument/codeLens`.
Server capabilities
type family ServerCapability (m :: Method f t) where ... Source #
The server capability associated with a given method.
Where several methods are provided together (e.g. the three callHierarchy
methods), we associate all of them
with the capaiblity, even if there is one "primary" method.
For methods which strictly only need a client capability but which are closely related to a server capability (e.g. `codeLens/refresh`), we also associate them with that server capability.
Equations
serverCapability :: forall m. SMethod m -> Lens' ServerCapabilities (Maybe (ServerCapability m)) Source #
A lens which focusses on the (possibly absent) server capability associated with a method.