Skip to content

Commit da2bfe8

Browse files
Merge pull request #154 from OmniSharp/fix/set-capability
Made SetCapability virtual instead of abstract
2 parents d7db2c2 + 46705b0 commit da2bfe8

33 files changed

+71
-34
lines changed

src/Protocol/Document/Server/ICodeActionHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public CodeActionHandler(CodeActionRegistrationOptions registrationOptions)
2323

2424
public CodeActionRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<CommandOrCodeActionContainer> Handle(CodeActionParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(CodeActionCapability capability);
26+
public virtual void SetCapability(CodeActionCapability capability) => Capability = capability;
27+
protected CodeActionCapability Capability { get; private set; }
2728
}
2829

2930
public static class CodeActionHandlerExtensions

src/Protocol/Document/Server/ICodeLensHandler.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public interface ICodeLensResolveHandler : ICanBeResolvedHandler<CodeLens> { }
1818
public abstract class CodeLensHandler : ICodeLensHandler, ICodeLensResolveHandler
1919
{
2020
private readonly CodeLensRegistrationOptions _options;
21+
2122
public CodeLensHandler(CodeLensRegistrationOptions registrationOptions)
2223
{
2324
_options = registrationOptions;
@@ -27,7 +28,8 @@ public CodeLensHandler(CodeLensRegistrationOptions registrationOptions)
2728
public abstract Task<CodeLensContainer> Handle(CodeLensParams request, CancellationToken cancellationToken);
2829
public abstract Task<CodeLens> Handle(CodeLens request, CancellationToken cancellationToken);
2930
public abstract bool CanResolve(CodeLens value);
30-
public abstract void SetCapability(CodeLensCapability capability);
31+
public virtual void SetCapability(CodeLensCapability capability) => Capability = capability;
32+
protected CodeLensCapability Capability { get; private set; }
3133
}
3234

3335
public static class CodeLensHandlerExtensions

src/Protocol/Document/Server/IColorPresentationHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ public ColorPresentationHandler(DocumentColorRegistrationOptions registrationOpt
2424

2525
public DocumentColorRegistrationOptions GetRegistrationOptions() => _options;
2626
public abstract Task<Container<ColorPresentation>> Handle(ColorPresentationParams request, CancellationToken cancellationToken);
27-
public abstract void SetCapability(ColorProviderCapability capability);
27+
public virtual void SetCapability(ColorProviderCapability capability) => Capability = capability;
28+
protected ColorProviderCapability Capability { get; private set; }
2829
}
2930

3031
public static class ColorPresentationHandlerExtensions

src/Protocol/Document/Server/ICompletionHandler.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ public interface ICompletionResolveHandler : ICanBeResolvedHandler<CompletionIte
1717

1818
public abstract class CompletionHandler : ICompletionHandler, ICompletionResolveHandler
1919
{
20-
private readonly CompletionRegistrationOptions _options;
20+
protected readonly CompletionRegistrationOptions _options;
21+
2122
public CompletionHandler(CompletionRegistrationOptions registrationOptions)
2223
{
2324
_options = registrationOptions;
@@ -27,7 +28,8 @@ public CompletionHandler(CompletionRegistrationOptions registrationOptions)
2728
public abstract Task<CompletionList> Handle(CompletionParams request, CancellationToken cancellationToken);
2829
public abstract Task<CompletionItem> Handle(CompletionItem request, CancellationToken cancellationToken);
2930
public abstract bool CanResolve(CompletionItem value);
30-
public abstract void SetCapability(CompletionCapability capability);
31+
public virtual void SetCapability(CompletionCapability capability) => Capability = capability;
32+
protected CompletionCapability Capability { get; private set; }
3133
}
3234

3335
public static class CompletionHandlerExtensions

src/Protocol/Document/Server/IDeclarationHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DeclarationHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<LocationOrLocationLinks> Handle(DeclarationParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DeclarationCapability capability);
25+
public virtual void SetCapability(DeclarationCapability capability) => Capability = capability;
26+
protected DeclarationCapability Capability { get; private set; }
2627
}
2728

2829
public static class DeclarationHandlerExtensions

src/Protocol/Document/Server/IDefinitionHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DefinitionHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<LocationOrLocationLinks> Handle(DefinitionParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DefinitionCapability capability);
25+
public virtual void SetCapability(DefinitionCapability capability) => Capability = capability;
26+
protected DefinitionCapability Capability { get; private set; }
2627
}
2728

2829
public static class DefinitionHandlerExtensions

src/Protocol/Document/Server/IDidChangeTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public DidChangeTextDocumentHandler(TextDocumentChangeRegistrationOptions regist
2626

2727
public TextDocumentChangeRegistrationOptions GetRegistrationOptions() => _options;
2828
public abstract Task<Unit> Handle(DidChangeTextDocumentParams request, CancellationToken cancellationToken);
29-
public abstract void SetCapability(SynchronizationCapability capability);
29+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
30+
protected SynchronizationCapability Capability { get; private set; }
3031
}
3132

3233
public static class DidChangeTextDocumentHandlerExtensions

src/Protocol/Document/Server/IDidCloseTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public DidCloseTextDocumentHandler(TextDocumentRegistrationOptions registrationO
2323

2424
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<Unit> Handle(DidCloseTextDocumentParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(SynchronizationCapability capability);
26+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
27+
protected SynchronizationCapability Capability { get; private set; }
2728
}
2829

2930
public static class DidCloseTextDocumentHandlerExtensions

src/Protocol/Document/Server/IDidOpenTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public DidOpenTextDocumentHandler(TextDocumentRegistrationOptions registrationOp
2323

2424
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<Unit> Handle(DidOpenTextDocumentParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(SynchronizationCapability capability);
26+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
27+
protected SynchronizationCapability Capability { get; private set; }
2728
}
2829

2930
public static class DidOpenTextDocumentHandlerExtensions

src/Protocol/Document/Server/IDidSaveTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public DidSaveTextDocumentHandler(TextDocumentSaveRegistrationOptions registrati
2323

2424
public TextDocumentSaveRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<Unit> Handle(DidSaveTextDocumentParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(SynchronizationCapability capability);
26+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
27+
protected SynchronizationCapability Capability { get; private set; }
2728
}
2829

2930
public static class DidSaveTextDocumentHandlerExtensions

src/Protocol/Document/Server/IDocumentColorHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentColorHandler(DocumentColorRegistrationOptions registrationOptions
2222

2323
public DocumentColorRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<Container<ColorInformation>> Handle(DocumentColorParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(ColorProviderCapability capability);
25+
public virtual void SetCapability(ColorProviderCapability capability) => Capability = capability;
26+
protected ColorProviderCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentColorHandlerExtensions

src/Protocol/Document/Server/IDocumentFormattingHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentFormattingHandler(TextDocumentRegistrationOptions registrationOpt
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<TextEditContainer> Handle(DocumentFormattingParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DocumentFormattingCapability capability);
25+
public virtual void SetCapability(DocumentFormattingCapability capability) => Capability = capability;
26+
protected DocumentFormattingCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentFormattingHandlerExtensions

src/Protocol/Document/Server/IDocumentHighlightHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentHighlightHandler(TextDocumentRegistrationOptions registrationOpti
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<DocumentHighlightContainer> Handle(DocumentHighlightParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DocumentHighlightCapability capability);
25+
public virtual void SetCapability(DocumentHighlightCapability capability) => Capability = capability;
26+
protected DocumentHighlightCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentHighlightHandlerExtensions

src/Protocol/Document/Server/IDocumentLinkHandler.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public interface IDocumentLinkResolveHandler : ICanBeResolvedHandler<DocumentLin
1818
public abstract class DocumentLinkHandler : IDocumentLinkHandler, IDocumentLinkResolveHandler
1919
{
2020
private readonly DocumentLinkRegistrationOptions _options;
21+
2122
public DocumentLinkHandler(DocumentLinkRegistrationOptions registrationOptions)
2223
{
2324
_options = registrationOptions;
@@ -27,7 +28,8 @@ public DocumentLinkHandler(DocumentLinkRegistrationOptions registrationOptions)
2728
public abstract Task<DocumentLinkContainer> Handle(DocumentLinkParams request, CancellationToken cancellationToken);
2829
public abstract Task<DocumentLink> Handle(DocumentLink request, CancellationToken cancellationToken);
2930
public abstract bool CanResolve(DocumentLink value);
30-
public abstract void SetCapability(DocumentLinkCapability capability);
31+
public virtual void SetCapability(DocumentLinkCapability capability) => Capability = capability;
32+
protected DocumentLinkCapability Capability { get; private set; }
3133
}
3234

3335
public static class DocumentLinkHandlerExtensions

src/Protocol/Document/Server/IDocumentOnTypeFormatHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentOnTypeFormatHandler(DocumentOnTypeFormattingRegistrationOptions r
2222

2323
public DocumentOnTypeFormattingRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<TextEditContainer> Handle(DocumentOnTypeFormattingParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DocumentOnTypeFormattingCapability capability);
25+
public virtual void SetCapability(DocumentOnTypeFormattingCapability capability) => Capability = capability;
26+
protected DocumentOnTypeFormattingCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentOnTypeFormatHandlerExtensions

src/Protocol/Document/Server/IDocumentRangeFormattingHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentRangeFormattingHandler(TextDocumentRegistrationOptions registrati
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<TextEditContainer> Handle(DocumentRangeFormattingParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DocumentRangeFormattingCapability capability);
25+
public virtual void SetCapability(DocumentRangeFormattingCapability capability) => Capability = capability;
26+
protected DocumentRangeFormattingCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentRangeFormattingHandlerExtensions

src/Protocol/Document/Server/IDocumentSymbolHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public DocumentSymbolHandler(TextDocumentRegistrationOptions registrationOptions
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<SymbolInformationOrDocumentSymbolContainer> Handle(DocumentSymbolParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(DocumentSymbolCapability capability);
25+
public virtual void SetCapability(DocumentSymbolCapability capability) => Capability = capability;
26+
protected DocumentSymbolCapability Capability { get; private set; }
2627
}
2728

2829
public static class DocumentSymbolHandlerExtensions

src/Protocol/Document/Server/IFoldingRangeHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public FoldingRangeHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<Container<FoldingRange>> Handle(FoldingRangeRequestParam request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(FoldingRangeCapability capability);
25+
public virtual void SetCapability(FoldingRangeCapability capability) => Capability = capability;
26+
protected FoldingRangeCapability Capability { get; private set; }
2627
}
2728

2829
public static class FoldingRangeHandlerExtensions

src/Protocol/Document/Server/IHoverHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public HoverHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<Hover> Handle(HoverParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(HoverCapability capability);
25+
public virtual void SetCapability(HoverCapability capability) => Capability = capability;
26+
protected HoverCapability Capability { get; private set; }
2627
}
2728

2829
public static class HoverHandlerExtensions

src/Protocol/Document/Server/IImplementationHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public ImplementationHandler(TextDocumentRegistrationOptions registrationOptions
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<LocationOrLocationLinks> Handle(ImplementationParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(ImplementationCapability capability);
25+
public virtual void SetCapability(ImplementationCapability capability) => Capability = capability;
26+
protected ImplementationCapability Capability { get; private set; }
2627
}
2728

2829
public static class ImplementationHandlerExtensions

src/Protocol/Document/Server/IPrepareRenameHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public PrepareRenameHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public object GetRegistrationOptions() => new object();
2424
public abstract Task<RangeOrPlaceholderRange> Handle(PrepareRenameParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(RenameCapability capability);
25+
public virtual void SetCapability(RenameCapability capability) => Capability = capability;
26+
protected RenameCapability Capability { get; private set; }
2627
}
2728

2829
public static class PrepareRenameHandlerExtensions

src/Protocol/Document/Server/IReferencesHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public ReferencesHandler(TextDocumentRegistrationOptions registrationOptions)
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<LocationContainer> Handle(ReferenceParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(ReferencesCapability capability);
25+
public virtual void SetCapability(ReferencesCapability capability) => Capability = capability;
26+
protected ReferencesCapability Capability { get; private set; }
2627
}
2728

2829
public static class ReferencesHandlerExtensions

src/Protocol/Document/Server/IRenameHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public RenameHandler(RenameRegistrationOptions registrationOptions)
2222

2323
public RenameRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<WorkspaceEdit> Handle(RenameParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(RenameCapability capability);
25+
public virtual void SetCapability(RenameCapability capability) => Capability = capability;
26+
protected RenameCapability Capability { get; private set; }
2627
}
2728

2829
public static class RenameHandlerExtensions

src/Protocol/Document/Server/ISignatureHelpHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public SignatureHelpHandler(SignatureHelpRegistrationOptions registrationOptions
2222

2323
public SignatureHelpRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<SignatureHelp> Handle(SignatureHelpParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(SignatureHelpCapability capability);
25+
public virtual void SetCapability(SignatureHelpCapability capability) => Capability = capability;
26+
protected SignatureHelpCapability Capability { get; private set; }
2627
}
2728

2829
public static class SignatureHelpHandlerExtensions

src/Protocol/Document/Server/ITextDocumentSyncHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ public TextDocumentSyncHandler(TextDocumentSyncKind kind, TextDocumentSaveRegist
3737
public abstract Task<Unit> Handle(DidChangeTextDocumentParams request, CancellationToken cancellationToken);
3838
public abstract Task<Unit> Handle(DidSaveTextDocumentParams request, CancellationToken cancellationToken);
3939
public abstract Task<Unit> Handle(DidCloseTextDocumentParams request, CancellationToken cancellationToken);
40-
public abstract void SetCapability(SynchronizationCapability capability);
40+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
41+
protected SynchronizationCapability Capability { get; private set; }
4142
}
4243

4344
public static class TextDocumentSyncHandlerExtensions

src/Protocol/Document/Server/ITypeDefinitionHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public TypeDefinitionHandler(TextDocumentRegistrationOptions registrationOptions
2222

2323
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2424
public abstract Task<LocationOrLocationLinks> Handle(TypeDefinitionParams request, CancellationToken cancellationToken);
25-
public abstract void SetCapability(TypeDefinitionCapability capability);
25+
public virtual void SetCapability(TypeDefinitionCapability capability) => Capability = capability;
26+
protected TypeDefinitionCapability Capability { get; private set; }
2627
}
2728

2829
public static class TypeDefinitionHandlerExtensions

src/Protocol/Document/Server/IWillSaveTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public WillSaveTextDocumentHandler(TextDocumentRegistrationOptions registrationO
2323

2424
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<Unit> Handle(WillSaveTextDocumentParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(SynchronizationCapability capability);
26+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
27+
protected SynchronizationCapability Capability { get; private set; }
2728
}
2829

2930
public static class WillSaveTextDocumentHandlerExtensions

src/Protocol/Document/Server/IWillSaveWaitUntilTextDocumentHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public WillSaveWaitUntilTextDocumentHandler(TextDocumentRegistrationOptions regi
2323

2424
public TextDocumentRegistrationOptions GetRegistrationOptions() => _options;
2525
public abstract Task<TextEditContainer> Handle(WillSaveWaitUntilTextDocumentParams request, CancellationToken cancellationToken);
26-
public abstract void SetCapability(SynchronizationCapability capability);
26+
public virtual void SetCapability(SynchronizationCapability capability) => Capability = capability;
27+
protected SynchronizationCapability Capability { get; private set; }
2728
}
2829

2930
public static class WillSaveWaitUntilTextDocumentHandlerExtensions

src/Protocol/Workspace/Server/IDidChangeConfigurationHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ public abstract class DidChangeConfigurationHandler : IDidChangeConfigurationHan
1818
{
1919
public object GetRegistrationOptions() => new object();
2020
public abstract Task<Unit> Handle(DidChangeConfigurationParams request, CancellationToken cancellationToken);
21-
public abstract void SetCapability(DidChangeConfigurationCapability capability);
21+
public virtual void SetCapability(DidChangeConfigurationCapability capability) => Capability = capability;
22+
protected DidChangeConfigurationCapability Capability { get; private set; }
2223
}
2324

2425
public static class DidChangeConfigurationHandlerExtensions

0 commit comments

Comments
 (0)