Exemple #1
0
        public static VSInternalClientCapabilities ToVSClientCapabilities(this OmniSharpClientCapabilities omniSharpClientCapabilities, LspSerializer serializer)
        {
            var jsonCapturingCapabilities = omniSharpClientCapabilities as ICaptureJson;

            if (jsonCapturingCapabilities is null)
            {
                throw new InvalidOperationException("Client capability deserializers not registered, failed to convert to " + nameof(ICaptureJson));
            }

            var vsClientCapabilities = jsonCapturingCapabilities.Json.ToObject <VSInternalClientCapabilities>(serializer.JsonSerializer);

            if (vsClientCapabilities is null)
            {
                throw new InvalidOperationException("Failed to convert client capabilities");
            }

            return(vsClientCapabilities);
        }
Exemple #2
0
 public SignatureHelpRegistrationOptions GetRegistrationOptions(SignatureHelpCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     return(new SignatureHelpRegistrationOptions()
     {
         DocumentSelector = DeltintegerLanguageServer.DocumentSelector,
         TriggerCharacters = new Container <string>("(", ",")
     });
 }
 public CompletionRegistrationOptions GetRegistrationOptions(CompletionCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     return(new CompletionRegistrationOptions()
     {
         DocumentSelector = DeltintegerLanguageServer.DocumentSelector,
         // Most tools trigger completion request automatically without explicitly requesting
         // it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
         // starts to type an identifier. For example if the user types `c` in a JavaScript file
         // code complete will automatically pop up present `console` besides others as a
         // completion item. Characters that make up identifiers don't need to be listed here.
         //
         // If code complete should automatically be trigger on characters not being valid inside
         // an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
         TriggerCharacters = new Container("."),
         // The server provides support to resolve additional
         // information for a completion item.
         ResolveProvider = false
     });
 }
Exemple #4
0
 public ReferenceRegistrationOptions GetRegistrationOptions(ReferenceCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities) => new ReferenceRegistrationOptions()
 {
     DocumentSelector = DeltintegerLanguageServer.DocumentSelector
 };
 public DefinitionRegistrationOptions GetRegistrationOptions(DefinitionCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     return(new DefinitionRegistrationOptions()
     {
         DocumentSelector = DeltintegerLanguageServer.DocumentSelector
     });
 }
 public void SetCapability(DidChangeConfigurationCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     _capability = capability;
 }
 public CodeLensRegistrationOptions GetRegistrationOptions(CodeLensCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     return(new CodeLensRegistrationOptions()
     {
         DocumentSelector = DeltintegerLanguageServer.DocumentSelector,
         ResolveProvider = false
     });
 }
Exemple #8
0
 public RenameRegistrationOptions GetRegistrationOptions(RenameCapability capability, OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities.ClientCapabilities clientCapabilities)
 {
     return(new RenameRegistrationOptions()
     {
         DocumentSelector = DeltintegerLanguageServer.DocumentSelector,
         PrepareProvider = true
     });
 }