Skip to content

Commit b9882e6

Browse files
Updated to the latest spec changes (#415)
* Updated to the latest spec changes * fixed unit tests * fixed unit tests * moved handler around Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 87b6613 commit b9882e6

33 files changed

+352
-8
lines changed

language-server-protocol.sha.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
-- This is the last commit we caught up with https://github.com/Microsoft/language-server-protocol/commits/gh-pages
2-
lastSha: a94f201e01fcdc0a308741bf3d46eef1a47fb6b5
2+
lastSha: 558f1e114a3dc53da7c3686a657ebef070275d63
33

4-
https://github.com/Microsoft/language-server-protocol/compare/a94f201e01fcdc0a308741bf3d46eef1a47fb6b5..gh-pages
4+
https://github.com/Microsoft/language-server-protocol/compare/558f1e114a3dc53da7c3686a657ebef070275d63..gh-pages

src/Protocol/Client/Capabilities/ClientCapabilities.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using Newtonsoft.Json.Linq;
3+
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization;
34

45
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
56
{
@@ -8,16 +9,19 @@ public class ClientCapabilities : CapabilitiesBase
89
/// <summary>
910
/// Workspace specific client capabilities.
1011
/// </summary>
12+
[Optional]
1113
public WorkspaceClientCapabilities? Workspace { get; set; }
1214

1315
/// <summary>
1416
/// Text document specific client capabilities.
1517
/// </summary>
18+
[Optional]
1619
public TextDocumentClientCapabilities? TextDocument { get; set; }
1720

1821
/// <summary>
1922
/// Window specific client capabilities.
2023
/// </summary>
24+
[Optional]
2125
public WindowClientCapabilities? Window { get; set; }
2226

2327
/// <summary>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using System;
2+
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization;
3+
4+
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
5+
{
6+
/// <summary>
7+
/// Capabilities specific to the code lens requests scoped to the
8+
/// workspace.
9+
///
10+
/// @since 3.16.0 - proposed state.
11+
/// </summary>
12+
[Obsolete(Constants.Proposal)]
13+
[CapabilityKey(nameof(ClientCapabilities.TextDocument), nameof(WorkspaceClientCapabilities.CodeLens))]
14+
public class CodeLensWorkspaceClientCapabilities
15+
{
16+
/// <summary>
17+
/// Whether the client implementation supports a refresh request send from the server
18+
/// to the client. This is useful if a server detects a change which requires a
19+
/// re-calculation of all code lenses.
20+
/// </summary>
21+
[Optional]
22+
public bool RefreshSupport { get; set; }
23+
}
24+
}

src/Protocol/Client/Capabilities/CompletionItemCapabilityOptions.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,5 +79,21 @@ public class CompletionItemCapabilityOptions
7979
/// </summary>
8080
[Optional]
8181
public CompletionItemCapabilityResolveSupportOptions? ResolveSupport { get; set; }
82+
83+
/// <summary>
84+
/// The client supports the `insertTextMode` property on
85+
/// a completion item to override the whitespace handling mode
86+
/// as defined by the client (see `insertTextMode`).
87+
///
88+
/// @since 3.16.0 - proposed state
89+
/// </summary>
90+
[Optional]
91+
public CompletionItemInsertTextModeSupportCapabilityOptions? InsertTextModeSupport { get; set; }
8292
}
93+
94+
public class CompletionItemInsertTextModeSupportCapabilityOptions
95+
{
96+
public Container<InsertTextMode> ValueSet { get; set; }
97+
}
98+
8399
}

src/Protocol/Client/Capabilities/FoldingRangeCapability.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ public class FoldingRangeCapability : DynamicCapability, ConnectedCapability<IFo
1010
/// The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
1111
/// hint, servers are free to follow the limit.
1212
/// </summary>
13+
/// <remarks>
14+
/// <see cref="uint"/> in the LSP spec
15+
/// </remarks>
1316
[Optional]
1417
public int? RangeLimit { get; set; }
1518

src/Protocol/Client/Capabilities/SemanticTokensCapability.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using OmniSharp.Extensions.LanguageServer.Protocol.Document.Proposals;
33
using OmniSharp.Extensions.LanguageServer.Protocol.Models;
44
using OmniSharp.Extensions.LanguageServer.Protocol.Models.Proposals;
5+
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization;
56

67
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
78
{
@@ -34,5 +35,17 @@ public class SemanticTokensCapability : DynamicCapability, ConnectedCapability<I
3435
/// The formats the clients supports.
3536
/// </summary>
3637
public Container<SemanticTokenFormat> Formats { get; set; } = null!;
38+
39+
/// <summary>
40+
/// Whether the client supports tokens that can overlap each other.
41+
/// </summary>
42+
[Optional]
43+
public bool OverlappingTokenSupport { get; set; }
44+
45+
/// <summary>
46+
/// Whether the client supports tokens that can span multiple lines.
47+
/// </summary>
48+
[Optional]
49+
public bool MultilineTokenSupport { get; set; }
3750
}
3851
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization;
3+
4+
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
5+
{
6+
/// <summary>
7+
/// Capabilities specific to the showMessage request
8+
///
9+
/// @since 3.16.0 - proposed state
10+
/// </summary>
11+
[Obsolete(Constants.Proposal)]
12+
[CapabilityKey(nameof(ClientCapabilities.Window), nameof(WindowClientCapabilities.ShowMessage))]
13+
public class ShowMessageRequestClientCapabilities
14+
{
15+
/// <summary>
16+
/// Capabilities specific to the `MessageActionItem` type.
17+
/// </summary>
18+
[Optional]
19+
public ShowMessageRequestMessageActionItemClientCapabilities? MessageActionItem { get; set; }
20+
}
21+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization;
3+
4+
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
5+
{
6+
[Obsolete(Constants.Proposal)]
7+
public class ShowMessageRequestMessageActionItemClientCapabilities
8+
{
9+
/// <summary>
10+
/// Whether the client supports additional attribues which
11+
/// are preserved and send back to the server in the
12+
/// request's response.
13+
/// </summary>
14+
[Optional]
15+
public bool AdditionalPropertiesSupport { get; set; }
16+
}
17+
}

src/Protocol/Client/Capabilities/WindowClientCapabilities.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,12 @@ public class WindowClientCapabilities : CapabilitiesBase
99
/// Whether client supports handling progress notifications.
1010
/// </summary>
1111
public Supports<bool> WorkDoneProgress { get; set; }
12+
13+
/// <summary>
14+
/// Capabilities specific to the showMessage request
15+
///
16+
/// @since 3.16.0 - proposed state
17+
/// </summary>
18+
public Supports<ShowMessageRequestClientCapabilities> ShowMessage { get; set; }
1219
}
1320
}

src/Protocol/Client/Capabilities/WorkspaceClientCapabilities.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System;
2+
13
namespace OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities
24
{
35
public class WorkspaceClientCapabilities : CapabilitiesBase
@@ -36,8 +38,18 @@ public class WorkspaceClientCapabilities : CapabilitiesBase
3638
///
3739
/// @since 3.16.0 - proposed state.
3840
/// </summary>
41+
[Obsolete(Constants.Proposal)]
3942
public Supports<SemanticTokensWorkspaceCapability> SemanticTokens { get; set; }
4043

44+
/// <summary>
45+
/// Capabilities specific to the code lens requests scoped to the
46+
/// workspace.
47+
///
48+
/// @since 3.16.0 - proposed state.
49+
/// </summary>
50+
[Obsolete(Constants.Proposal)]
51+
public Supports<CodeLensWorkspaceClientCapabilities> CodeLens { get; set; }
52+
4153
/// <summary>
4254
/// The client has support for workspace folders.
4355
///

0 commit comments

Comments
 (0)