Skip to content

Commit 2f3ba1b

Browse files
committed
inlay-hint-support
1 parent 79524d8 commit 2f3ba1b

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

lsp-types/src/Language/LSP/Protocol/Capabilities.hs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ capsForVersion (LSPVersion maj min) = caps
6464
, _workspaceFolders = since 3 6 True
6565
, _configuration = since 3 6 True
6666
, _semanticTokens = since 3 16 (SemanticTokensWorkspaceClientCapabilities $ Just True)
67+
, _inlayHint = since 3 17 inlayHint
6768
-- TODO
6869
, _codeLens = Nothing
6970
, _fileOperations = Nothing
7071
, _inlineValue = Nothing
71-
, _inlayHint = Nothing
7272
, _diagnostics = Nothing
7373
}
7474

@@ -158,12 +158,12 @@ capsForVersion (LSPVersion maj min) = caps
158158
, _selectionRange=since 3 5 (SelectionRangeClientCapabilities dynamicReg)
159159
, _callHierarchy=since 3 16 (CallHierarchyClientCapabilities dynamicReg)
160160
, _semanticTokens=since 3 16 semanticTokensCapabilities
161+
, _inlayHint=since 3 17 inlayHintCapabilities
161162
-- TODO
162163
, _linkedEditingRange=Nothing
163164
, _moniker=Nothing
164165
, _typeHierarchy=Nothing
165166
, _inlineValue=Nothing
166-
, _inlayHint=Nothing
167167
, _diagnostic=Nothing
168168
}
169169

@@ -184,6 +184,17 @@ capsForVersion (LSPVersion maj min) = caps
184184
, _contextSupport=since 3 3 True
185185
, _completionList=since 3 17 (#itemDefaults .== Just [])
186186
}
187+
188+
inlayHint =
189+
InlayHintWorkspaceClientCapabilities{
190+
_refreshSupport=since 3 17 True
191+
}
192+
193+
inlayHintCapabilities =
194+
InlayHintClientCapabilities{
195+
_dynamicRegistration=dynamicReg,
196+
_resolveSupport= since 3 17 (#properties .== [])
197+
}
187198

188199
completionItemCapabilities =
189200
#snippetSupport .== Just True

lsp/src/Language/LSP/Server/Core.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,7 @@ registerCapability method regOpts f = do
609609
SMethod_TextDocumentFoldingRange -> capDyn $ clientCaps ^? L.textDocument . _Just . L.foldingRange . _Just
610610
SMethod_TextDocumentSelectionRange -> capDyn $ clientCaps ^? L.textDocument . _Just . L.selectionRange . _Just
611611
SMethod_TextDocumentPrepareCallHierarchy -> capDyn $ clientCaps ^? L.textDocument . _Just . L.callHierarchy . _Just
612+
SMethod_TextDocumentInlayHint -> capDyn $ clientCaps ^? L.textDocument . _Just . L.inlayHint . _Just
612613
--SMethod_TextDocumentSemanticTokens -> capDyn $ clientCaps ^? L.textDocument . _Just . L.semanticTokens . _Just
613614
_ -> False
614615

lsp/src/Language/LSP/Server/Processing.hs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ inferServerCapabilities clientCaps o h =
192192
{ _textDocumentSync = sync
193193
, _hoverProvider = supportedBool SMethod_TextDocumentHover
194194
, _completionProvider = completionProvider
195+
, _inlayHintProvider = inlayProvider
195196
, _declarationProvider = supportedBool SMethod_TextDocumentDeclaration
196197
, _signatureHelpProvider = signatureHelpProvider
197198
, _definitionProvider = supportedBool SMethod_TextDocumentDefinition
@@ -228,7 +229,6 @@ inferServerCapabilities clientCaps o h =
228229
, _monikerProvider = Nothing
229230
, _typeHierarchyProvider = Nothing
230231
, _inlineValueProvider = Nothing
231-
, _inlayHintProvider = Nothing
232232
, _diagnosticProvider = Nothing
233233
}
234234
where
@@ -263,6 +263,14 @@ inferServerCapabilities clientCaps o h =
263263
, _workDoneProgress=Nothing
264264
}
265265
| otherwise = Nothing
266+
267+
inlayProvider
268+
| supported_b SMethod_TextDocumentInlayHint = Just $
269+
InR $ InL InlayHintOptions {
270+
_workDoneProgress = Nothing,
271+
_resolveProvider = supported SMethod_InlayHintResolve
272+
}
273+
| otherwise = Nothing
266274

267275
clientSupportsCodeActionKinds = isJust $
268276
clientCaps ^? L.textDocument . _Just . L.codeAction . _Just . L.codeActionLiteralSupport . _Just

0 commit comments

Comments
 (0)