Skip to content

Commit 15db871

Browse files
LSP Protocol 1/2
1 parent c152b02 commit 15db871

File tree

67 files changed

+473
-580
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+473
-580
lines changed

src/Protocol/Client/Capabilities/CallHierarchyCapability.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
1010
/// </summary>
1111
[Obsolete(Constants.Proposal)]
1212
[CapabilityKey(nameof(ClientCapabilities.TextDocument), nameof(TextDocumentClientCapabilities.CallHierarchy))]
13-
public class CallHierarchyCapability : DynamicCapability, ConnectedCapability<ICallHierarchyHandler>,
13+
public class CallHierarchyCapability : DynamicCapability, ConnectedCapability<ICallHierarchyPrepareHandler>,
1414
ConnectedCapability<ICallHierarchyIncomingHandler>, ConnectedCapability<ICallHierarchyOutgoingHandler>
1515
{
1616
}

src/Protocol/Client/Capabilities/ClientCapabilities.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ public class ClientCapabilities : CapabilitiesBase
88
/// <summary>
99
/// Workspace specific client capabilities.
1010
/// </summary>
11-
public WorkspaceClientCapabilities Workspace { get; set; }
11+
public WorkspaceClientCapabilities? Workspace { get; set; }
1212

1313
/// <summary>
1414
/// Text document specific client capabilities.
1515
/// </summary>
16-
public TextDocumentClientCapabilities TextDocument { get; set; }
16+
public TextDocumentClientCapabilities? TextDocument { get; set; }
1717

1818
/// <summary>
1919
/// Window specific client capabilities.
2020
/// </summary>
21-
public WindowClientCapabilities Window { get; set; }
21+
public WindowClientCapabilities? Window { get; set; }
2222

2323
/// <summary>
2424
/// Experimental client capabilities.

src/Protocol/Client/Capabilities/ClientCapabilitiesExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ public static class ClientCapabilitiesExtensions
44
{
55
/// <summary>
66
/// Best attempt to determine if the hosting client supports a specific protocol version
7-
///
7+
///
88
/// Capability are new as of 3.0, but the field existed before so it's possible
99
/// it could be passed as an empty object
1010
/// </summary>
1111
/// <param name="clientCapabilities">The capabilities.</param>
1212
/// <returns>ClientVersion.</returns>
13-
public static ClientVersion GetClientVersion(this ClientCapabilities clientCapabilities)
13+
public static ClientVersion GetClientVersion(this ClientCapabilities? clientCapabilities)
1414
{
1515
if (clientCapabilities == null || clientCapabilities.TextDocument == null && clientCapabilities.Workspace == null)
1616
return ClientVersion.Lsp2;

src/Protocol/Client/Capabilities/CodeActionCapability.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class CodeActionCapability : DynamicCapability, ConnectedCapability<ICode
1313
/// Since 3.8.0
1414
/// </summary>
1515
[Optional]
16-
public CodeActionLiteralSupportOptions CodeActionLiteralSupport { get; set; }
16+
public CodeActionLiteralSupportOptions? CodeActionLiteralSupport { get; set; }
1717

1818
/// <summary>
1919
/// Whether code action supports the `isPreferred` property.

src/Protocol/Client/Capabilities/CodeActionKindCapabilityOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ public class CodeActionKindCapabilityOptions
1010
/// handle values outside its set gracefully and falls back
1111
/// to a default value when unknown.
1212
/// </summary>
13-
public Container<CodeActionKind> ValueSet { get; set; }
13+
public Container<CodeActionKind> ValueSet { get; set; } = null!;
1414
}
1515
}

src/Protocol/Client/Capabilities/CodeActionLiteralSupportOptions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ public class CodeActionLiteralSupportOptions
66
/// The code action kind is support with the following value
77
/// set.
88
/// </summary>
9-
10-
public CodeActionKindCapabilityOptions CodeActionKind { get; set; }
9+
public CodeActionKindCapabilityOptions CodeActionKind { get; set; } = null!;
1110
}
1211
}

src/Protocol/Client/Capabilities/CompletionCapability.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ public class CompletionCapability : DynamicCapability, ConnectedCapability<IComp
1111
/// capabilities.
1212
/// </summary>
1313
[Optional]
14-
public CompletionItemCapabilityOptions CompletionItem { get; set; }
14+
public CompletionItemCapabilityOptions? CompletionItem { get; set; }
1515

1616
/// <summary>
1717
/// Specific capabilities for the `CompletionItemKind` in the `textDocument/completion` request.
1818
/// </summary>
1919
[Optional]
20-
public CompletionItemKindCapabilityOptions CompletionItemKind { get; set; }
20+
public CompletionItemKindCapabilityOptions? CompletionItemKind { get; set; }
2121

2222
/// <summary>
2323
/// The client supports to send additional context information for a `textDocument/completion` request.

src/Protocol/Client/Capabilities/CompletionItemCapabilityOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class CompletionItemCapabilityOptions
2727
/// property. The order describes the preferred format of the client.
2828
/// </summary>
2929
[Optional]
30-
public Container<MarkupKind> DocumentationFormat { get; set; }
30+
public Container<MarkupKind>? DocumentationFormat { get; set; }
3131

3232
/// <summary>
3333
/// Client supports the deprecated property on a completion item.
@@ -50,7 +50,7 @@ public class CompletionItemCapabilityOptions
5050
/// @since 3.15.0
5151
/// </summary>
5252
[Optional]
53-
public Supports<CompletionItemTagSupportCapabilityOptions> TagSupport { get; set; }
53+
public Supports<CompletionItemTagSupportCapabilityOptions?> TagSupport { get; set; }
5454

5555
/// <summary>
5656
/// Client support insert replace edit to control different behavior if a

src/Protocol/Client/Capabilities/CompletionItemKindCapabilityOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ public class CompletionItemKindCapabilityOptions
1616
/// the initial version of the protocol.
1717
/// </summary>
1818
[Optional]
19-
public Container<CompletionItemKind> ValueSet { get; set; }
19+
public Container<CompletionItemKind>? ValueSet { get; set; }
2020
}
2121
}

src/Protocol/Client/Capabilities/CompletionItemTagSupportCapabilityOptions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ public class CompletionItemTagSupportCapabilityOptions
77
/// <summary>
88
/// The tags supported by the client.
99
/// </summary>
10-
11-
public Container<CompletionItemTag> ValueSet { get; set; }
10+
public Container<CompletionItemTag> ValueSet { get; set; } = null!;
1211
}
1312
}

src/Protocol/Client/Capabilities/ConnectedCapability.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
using OmniSharp.Extensions.JsonRpc;
2-
using OmniSharp.Extensions.LanguageServer.Protocol.Models;
32

43
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
54
{
5+
// ReSharper disable once InconsistentNaming
6+
// ReSharper disable once UnusedTypeParameter
67
internal interface ConnectedCapability<out T> : ICapability
78
where T : IJsonRpcHandler
89
{

src/Protocol/Client/Capabilities/DocumentSymbolCapability.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ public class DocumentSymbolCapability : DynamicCapability, ConnectedCapability<I
1111
/// Specific capabilities for the `SymbolKind` in the `textDocument/symbol` request.
1212
/// </summary>
1313
[Optional]
14-
public SymbolKindCapabilityOptions SymbolKind { get; set; }
14+
public SymbolKindCapabilityOptions? SymbolKind { get; set; }
1515

1616
/// <summary>
1717
/// Whether document symbol supports hierarchical `DocumentSymbol`s.
1818
/// </summary>
1919
[Optional]
20-
public bool? HierarchicalDocumentSymbolSupport { get; set; }
20+
public bool HierarchicalDocumentSymbolSupport { get; set; }
2121

2222
/// <summary>
2323
/// The client supports tags on `SymbolInformation`.Tags are supported on
@@ -28,6 +28,6 @@ public class DocumentSymbolCapability : DynamicCapability, ConnectedCapability<I
2828
/// </summary>
2929
[Obsolete(Constants.Proposal)]
3030
[Optional]
31-
public Supports<TagSupportCapabilityOptions> TagSupport { get; set; }
31+
public TagSupportCapabilityOptions? TagSupport { get; set; }
3232
}
3333
}

src/Protocol/Client/Capabilities/HoverCapability.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ public class HoverCapability : DynamicCapability, ConnectedCapability<IHoverHand
1111
/// Client supports the follow content formats for the content property. The order describes the preferred format of the client.
1212
/// </summary>
1313
[Optional]
14-
public Container<MarkupKind> ContentFormat { get; set; }
14+
public Container<MarkupKind>? ContentFormat { get; set; }
1515
}
1616
}

src/Protocol/Client/Capabilities/PublishDiagnosticsCapability.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class PublishDiagnosticsCapability : ICapability
2121
/// @since 3.15.0
2222
/// </summary>
2323
[Optional]
24-
public Supports<PublishDiagnosticsTagSupportCapabilityOptions> TagSupport { get; set; }
24+
public Supports<PublishDiagnosticsTagSupportCapabilityOptions?> TagSupport { get; set; }
2525

2626
/// <summary>
2727
/// Whether the client interprets the version property of the

src/Protocol/Client/Capabilities/PublishDiagnosticsTagSupportCapabilityOptions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ public class PublishDiagnosticsTagSupportCapabilityOptions
77
/// <summary>
88
/// The tags supported by the client.
99
/// </summary>
10-
11-
public Container<DiagnosticTag> ValueSet { get; set; }
10+
public Container<DiagnosticTag> ValueSet { get; set; } = null!;
1211
}
1312
}

src/Protocol/Client/Capabilities/SemanticTokensCapability.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,21 @@ public class SemanticTokensCapability : DynamicCapability, ConnectedCapability<I
1818
/// <summary>
1919
/// Which requests the client supports and might send to the server.
2020
/// </summary>
21-
public SemanticTokensCapabilityRequests Requests { get; set; }
21+
public SemanticTokensCapabilityRequests Requests { get; set; } = null!;
2222

2323
/// <summary>
2424
/// The token types that the client supports.
2525
/// </summary>
26-
public Container<SemanticTokenType> TokenTypes { get; set; }
26+
public Container<SemanticTokenType> TokenTypes { get; set; } = null!;
2727

2828
/// <summary>
2929
/// The token modifiers that the client supports.
3030
/// </summary>
31-
public Container<SemanticTokenModifier> TokenModifiers { get; set; }
31+
public Container<SemanticTokenModifier> TokenModifiers { get; set; } = null!;
3232

3333
/// <summary>
3434
/// The formats the clients supports.
3535
/// </summary>
36-
public Container<SemanticTokenFormat> Formats { get; set; }
36+
public Container<SemanticTokenFormat> Formats { get; set; } = null!;
3737
}
3838
}

src/Protocol/Client/Capabilities/SemanticTokensCapabilityRequests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ public class SemanticTokensCapabilityRequests
99
/// the server provides a corresponding handler.
1010
/// </summary>
1111
[Optional]
12-
public Supports<SemanticTokensCapabilityRequestRange> Range { get; set; }
12+
public Supports<SemanticTokensCapabilityRequestRange?> Range { get; set; }
1313

1414
/// <summary>
1515
/// The client will send the `textDocument/semanticTokens/full` request if
1616
/// the server provides a corresponding handler.
1717
/// </summary>
1818
[Optional]
19-
public Supports<SemanticTokensCapabilityRequestFull> Full { get; set; }
19+
public Supports<SemanticTokensCapabilityRequestFull?> Full { get; set; }
2020
}
2121
}

src/Protocol/Client/Capabilities/SignatureHelpCapability.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class SignatureHelpCapability : DynamicCapability, ConnectedCapability<IS
1010
/// specific properties.
1111
/// </summary>
1212
[Optional]
13-
public SignatureInformationCapabilityOptions SignatureInformation { get; set; }
13+
public SignatureInformationCapabilityOptions? SignatureInformation { get; set; }
1414

1515
/// <summary>
1616
/// The client supports to send additional context information for a

src/Protocol/Client/Capabilities/SignatureInformationCapabilityOptions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ public class SignatureInformationCapabilityOptions
99
/// Client supports the follow content formats for the content property. The order describes the preferred format of the client.
1010
/// </summary>
1111
[Optional]
12-
public Container<MarkupKind> DocumentationFormat { get; set; }
12+
public Container<MarkupKind>? DocumentationFormat { get; set; }
1313

14-
[Optional] public SignatureParameterInformationCapabilityOptions ParameterInformation { get; set; }
14+
[Optional] public SignatureParameterInformationCapabilityOptions? ParameterInformation { get; set; }
1515

1616
/// <summary>
1717
/// The client support the `activeParameter` property on `SignatureInformation`

src/Protocol/Client/Capabilities/SymbolKindCapabilityOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ public class SymbolKindCapabilityOptions
1919
/// the initial version of the protocol.
2020
/// </summary>
2121
[Optional]
22-
public Container<SymbolKind> ValueSet { get; set; }
22+
public Container<SymbolKind>? ValueSet { get; set; }
2323
}
2424
}

src/Protocol/Client/Capabilities/TagSupportCapabilityOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public class TagSupportCapabilityOptions
1717
/// The tags supported by the client.
1818
/// </summary>
1919
[Obsolete(Constants.Proposal)]
20-
public Container<SymbolTag> ValueSet { get; set; }
20+
public Container<SymbolTag> ValueSet { get; set; } = null!;
2121
}
2222
}

0 commit comments

Comments
 (0)