Skip to content

Commit 747e1bb

Browse files
Updated capabilities to indiciate which handler they are tied too, this helps update the HasHandler logic. In addition extracted HasHandler out into a unit testable class.
1 parent 99ce493 commit 747e1bb

25 files changed

+371
-138
lines changed
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Abstractions;
2+
using OmniSharp.Extensions.LanguageServer.Protocol;
3+
4+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
25
{
3-
public class CodeActionCapability : DynamicCapability { }
6+
public class CodeActionCapability : DynamicCapability, ConnectedCapability<ICodeActionHandler> { }
47
}
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Capabilities.Server;
2+
using OmniSharp.Extensions.LanguageServer.Protocol;
3+
4+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
25
{
3-
public class CodeLensCapability : DynamicCapability { }
6+
public class CodeLensCapability : DynamicCapability, ConnectedCapability<ICodeLensHandler> { }
47
}

src/Lsp/Capabilities/Client/CompletionCapability.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class CompletionCapability : DynamicCapability
5+
public class CompletionCapability : DynamicCapability, ConnectedCapability<ICompletionHandler>
46
{
57
/// <summary>
68
/// The client supports the following `CompletionItem` specific
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using OmniSharp.Extensions.JsonRpc;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
4+
{
5+
internal interface ConnectedCapability<out T>
6+
where T : IJsonRpcHandler
7+
{ }
8+
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DefinitionCapability : DynamicCapability { }
5+
public class DefinitionCapability : DynamicCapability, ConnectedCapability<IDefinitionHandler> { }
46
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DocumentFormattingCapability : DynamicCapability { }
5+
public class DocumentFormattingCapability : DynamicCapability, ConnectedCapability<IDocumentFormattingHandler> { }
46
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DocumentHighlightCapability : DynamicCapability { }
5+
public class DocumentHighlightCapability : DynamicCapability, ConnectedCapability<IDocumentHighlightHandler> { }
46
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DocumentLinkCapability : DynamicCapability { }
5+
public class DocumentLinkCapability : DynamicCapability, ConnectedCapability<IDocumentLinkHandler> { }
46
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DocumentOnTypeFormattingCapability : DynamicCapability { }
5+
public class DocumentOnTypeFormattingCapability : DynamicCapability, ConnectedCapability<IDocumentOnTypeFormatHandler> { }
46
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
1+
using OmniSharp.Extensions.LanguageServer.Protocol.Document;
2+
3+
namespace OmniSharp.Extensions.LanguageServer.Capabilities.Client
24
{
3-
public class DocumentRangeFormattingCapability : DynamicCapability { }
5+
public class DocumentRangeFormattingCapability : DynamicCapability, ConnectedCapability<IDocumentRangeFormattingHandler> { }
46
}

0 commit comments

Comments
 (0)