private async Task InitializeAsync(Stream input, Stream output)
        {
            _server = await OmniSharp.Extensions.LanguageServer.Server.LanguageServer.From(options => options
                                                                                           .WithInput(input)
                                                                                           .WithOutput(output)
                                                                                           .WithLoggerFactory(_loggerFactory)
                                                                                           .OnInitialized(OnInitialized));

            var diagnosticService = _workspace.Services.GetService <IDiagnosticService>();

            _diagnosticNotifier = new DiagnosticNotifier(_server, diagnosticService);

            var documentSelector = new DocumentSelector(
                LanguageNames.AllLanguages
                .Select(x => new DocumentFilter
            {
                Language = x.ToLowerInvariant()
            }));

            var registrationOptions = new TextDocumentRegistrationOptions
            {
                DocumentSelector = documentSelector
            };

            _server.AddHandlers(
                new TextDocumentSyncHandler(_workspace, registrationOptions),
                new CompletionHandler(_workspace, registrationOptions),
                new DefinitionHandler(_workspace, registrationOptions),
                new WorkspaceSymbolsHandler(_workspace),
                new DocumentHighlightHandler(_workspace, registrationOptions),
                new DocumentSymbolsHandler(_workspace, registrationOptions),
                new HoverHandler(_workspace, registrationOptions),
                new SignatureHelpHandler(_workspace, registrationOptions));
        }
Ejemplo n.º 2
0
 public DelegatingHandler(
     Func <DocumentSymbolParams, CancellationToken, Task <SymbolInformationOrDocumentSymbolContainer> > handler,
     Action <DocumentSymbolCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
Ejemplo n.º 3
0
 public DelegatingHandler(
     Func <TypeDefinitionParams, CancellationToken, Task <LocationOrLocationLinks> > handler,
     Action <TypeDefinitionCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
Ejemplo n.º 4
0
 public DelegatingHandler(
     Func <DocumentRangeFormattingParams, CancellationToken, Task <TextEditContainer> > handler,
     Action <DocumentRangeFormattingCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public DelegatingHandler(
     Func <ReferenceParams, CancellationToken, Task <LocationContainer> > handler,
     Action <ReferencesCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public DelegatingHandler(
     Func <DidCloseTextDocumentParams, CancellationToken, Task <Unit> > handler,
     Action <SynchronizationCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public DelegatingHandler(
     Func <WillSaveWaitUntilTextDocumentParams, CancellationToken, Task <TextEditContainer> > handler,
     Action <SynchronizationCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
Ejemplo n.º 8
0
 public DelegatingHandler(
     Func<PrepareRenameParams, CancellationToken, Task<RangeOrPlaceholderRange>> handler,
     Action<RenameCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler = handler;
     _setCapability = setCapability;
 }
Ejemplo n.º 9
0
 public DelegatingHandler(
     Func <FoldingRangeRequestParam, CancellationToken, Task <Container <FoldingRange> > > handler,
     Action <FoldingRangeCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public DelegatingHandler(
     Func <HoverParams, CancellationToken, Task <Hover> > handler,
     Action <HoverCapability> setCapability,
     TextDocumentRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public static IDisposable OnDidCloseTextDocument(
     this ILanguageServerRegistry registry,
     Func <DidCloseTextDocumentParams, CancellationToken, Task <Unit> > handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action <SynchronizationCapability> setCapability    = null)
 {
     registrationOptions = registrationOptions ?? new TextDocumentRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
Ejemplo n.º 12
0
 public static IDisposable OnPrepareRename(
     this ILanguageServerRegistry registry,
     Func<PrepareRenameParams, CancellationToken, Task<RangeOrPlaceholderRange>> handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action<RenameCapability> setCapability = null)
 {
     registrationOptions = registrationOptions ?? new TextDocumentRegistrationOptions();
     return registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions));
 }
 public static IDisposable OnWillSaveWaitUntilTextDocument(
     this ILanguageServerRegistry registry,
     Func <WillSaveWaitUntilTextDocumentParams, CancellationToken, Task <TextEditContainer> > handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action <SynchronizationCapability> setCapability    = null)
 {
     registrationOptions ??= new TextDocumentRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
 public static IDisposable OnHover(
     this ILanguageServerRegistry registry,
     Func <HoverParams, CancellationToken, Task <Hover> > handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action <HoverCapability> setCapability = null)
 {
     registrationOptions = registrationOptions ?? new TextDocumentRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
Ejemplo n.º 15
0
 public static IDisposable OnFoldingRange(
     this ILanguageServerRegistry registry,
     Func <FoldingRangeRequestParam, CancellationToken, Task <Container <FoldingRange> > > handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action <FoldingRangeCapability> setCapability       = null)
 {
     registrationOptions = registrationOptions ?? new TextDocumentRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
Ejemplo n.º 16
0
 public static IDisposable OnTypeDefinition(
     this ILanguageServerRegistry registry,
     Func <TypeDefinitionParams, CancellationToken, Task <LocationOrLocationLinks> > handler,
     TextDocumentRegistrationOptions registrationOptions = null,
     Action <TypeDefinitionCapability> setCapability     = null)
 {
     registrationOptions = registrationOptions ?? new TextDocumentRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
Ejemplo n.º 17
0
 public DocumentHighlightHandler(
     ILoggerFactory loggerFactory,
     WorkspaceService workspaceService,
     SymbolsService symbolService)
 {
     _logger              = loggerFactory.CreateLogger <OmniSharp.Extensions.LanguageServer.Protocol.Server.DocumentHighlightHandler>();
     _workspaceService    = workspaceService;
     _symbolsService      = symbolService;
     _registrationOptions = new TextDocumentRegistrationOptions()
     {
         DocumentSelector = LspUtils.PowerShellDocumentSelector
     };
     _logger.LogInformation("highlight handler loaded");
 }
Ejemplo n.º 18
0
        public void SimpleTest(string expected)
        {
            var model = new TextDocumentRegistrationOptions()
            {
                DocumentSelector = new DocumentSelector(new DocumentFilter()
                {
                    Language = "csharp"
                })
            };
            var result = Fixture.SerializeObject(model);

            result.Should().Be(expected);

            var deresult = new Serializer(ClientVersion.Lsp3).DeserializeObject <TextDocumentRegistrationOptions>(expected);

            deresult.Should().BeEquivalentTo(model);
        }
Ejemplo n.º 19
0
 public TypeDefinitionHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public DidOpenTextDocumentHandler(TextDocumentRegistrationOptions registrationOptions) => _options = registrationOptions;
 public HoverHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
Ejemplo n.º 22
0
 public TextDocumentSyncHandler(LanguageServerWorkspace workspace, TextDocumentRegistrationOptions registrationOptions)
 {
     _workspace           = workspace;
     _registrationOptions = registrationOptions;
 }
 public ImplementationHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public SignatureHelpHandler(LanguageServerWorkspace workspace, TextDocumentRegistrationOptions registrationOptions)
 {
     _workspace           = workspace;
     _registrationOptions = registrationOptions;
 }
Ejemplo n.º 25
0
 public PrepareRenameHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public DeclarationHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public DidCloseTextDocumentHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public WillSaveTextDocumentHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
Ejemplo n.º 29
0
 public DocumentRangeFormattingHandler(TextDocumentRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }
 public WillSaveWaitUntilTextDocumentHandler(TextDocumentRegistrationOptions registrationOptions) => _options = registrationOptions;