@@ -333,6 +333,17 @@ type InlayHintWorkspaceClientCapabilities =
333333 /// change that requires such a calculation.
334334 RefreshSupport: bool option }
335335
336+ /// Client workspace capabilities specific to inline values.
337+ type InlineValueWorkspaceClientCapabilities =
338+ { /// Whether the client implementation supports a refresh request sent from
339+ /// the server to the client.
340+ ///
341+ /// Note that this event is global and will force the client to refresh all
342+ /// inline values currently shown. It should be used with absolute care and
343+ /// is useful for situation where a server for example detects a project wide
344+ /// change that requires such a calculation.
345+ RefreshSupport: bool option }
346+
336347type CodeLensWorkspaceClientCapabilities =
337348 { /// Whether the client implementation supports a refresh request sent from the
338349 /// server to the client.
@@ -372,6 +383,12 @@ type WorkspaceClientCapabilities =
372383 /// @since 3.17.0
373384 InlayHint: InlayHintWorkspaceClientCapabilities option
374385
386+
387+ /// Client workspace capabilities specific to inline value.
388+ ///
389+ /// @since 3.17.0
390+ InlineValue: InlineValueWorkspaceClientCapabilities option
391+
375392 /// Client workspace capabilities specific to code lenses.
376393 ///
377394 /// @since 3.16.0
@@ -726,6 +743,19 @@ type InlayHintClientCapabilities =
726743 /// hint.
727744 ResolveSupport: InlayHintClientCapabilitiesResolveSupport option }
728745
746+
747+ type InlineValueClientCapabilitiesResolveSupport =
748+ { /// The properties that a client can resolve lazily.
749+ Properties: string [] }
750+
751+ /// Inline value client capabilities.
752+ type InlineValueClientCapabilities =
753+ { /// Whether inline value support dynamic registration.
754+ DynamicRegistration: bool option
755+ /// Indicates which properties a client can resolve lazily on a inline
756+ /// value.
757+ ResolveSupport: InlineValueClientCapabilitiesResolveSupport option }
758+
729759type RenameClientCapabilities =
730760 { /// Whether rename supports dynamic registration.
731761 DynamicRegistration: bool option
@@ -1005,6 +1035,10 @@ type InlayHintOptions =
10051035 { /// The server provides support to resolve additional information for an inlay hint item.
10061036 ResolveProvider: bool option }
10071037
1038+ type InlineValueOptions =
1039+ { /// The server provides support to resolve additional information for aniline lay hint item.
1040+ ResolveProvider: bool option }
1041+
10081042type WorkspaceFoldersServerCapabilities =
10091043 { /// The server has support for workspace folders.
10101044 Supported: bool option
@@ -1143,6 +1177,8 @@ type ServerCapabilities =
11431177
11441178 InlayHintProvider: InlayHintOptions option
11451179
1180+ InlineValueProvider: InlineValueOptions option
1181+
11461182 /// Workspace specific server capabilities.
11471183 Workspace: WorkspaceServerCapabilities option
11481184
@@ -1171,7 +1207,8 @@ type ServerCapabilities =
11711207 FoldingRangeProvider = None
11721208 SelectionRangeProvider = None
11731209 SemanticTokensProvider = None
1174- InlayHintProvider = None
1210+ InlayHintProvider = None
1211+ InlineValueProvider = None
11751212 Workspace = None }
11761213
11771214type InitializeResult =
@@ -2330,6 +2367,40 @@ type InlayHint =
23302367 /// a `textDocument/inlayHint` and a `inlayHint/resolve` request.
23312368 Data: LSPAny option }
23322369
2370+ /// InlineValue Context
2371+ type InlineValueContext =
2372+ {
2373+ /// The stack frame (as a DAP Id) where the execution has stopped.
2374+ FrameId: int
2375+
2376+ /// The document range where execution has stopped.
2377+ /// Typically the end position of the range denotes the line where the inline values are shown.
2378+ StoppedLocation: Range }
2379+
2380+ /// A parameter literal used in inline value requests.
2381+ type InlineValueParams = (* WorkDoneProgressParams &*)
2382+ { /// The text document.
2383+ TextDocument: TextDocumentIdentifier
2384+ /// The visible document range for which inline values should be computed.
2385+ Range: Range
2386+ /// Additional information about the context in which inline values were requested
2387+ Context: InlineValueContext }
2388+
2389+ /// Provide inline value as text.
2390+ type InlineValueText =
2391+ {
2392+ /// The document range for which the inline value applies.
2393+ Range: Range
2394+ /// The text of the inline value.
2395+ Text: String
2396+ }
2397+
2398+ [<ErasedUnion>]
2399+ [<RequireQualifiedAccess>]
2400+ type InlineValue =
2401+ | InlineValueText of InlineValueText
2402+
2403+
23332404type ProgressToken = U2< int, string>
23342405
23352406type WorkDoneProgressCreateParams =
0 commit comments