Task <Unit> IRequestHandler <DidChangeWorkspaceFoldersParams, Unit> .Handle(DidChangeWorkspaceFoldersParams request, CancellationToken cancellationToken) { if (!IsSupported) { return(Unit.Task); } foreach (var folder in request.Event.Added) { _workspaceFolders.AddOrUpdate(folder.Uri, folder, (a, b) => folder); if (_workspaceFoldersChangedSubject.IsDisposed) { continue; } _workspaceFoldersChangedSubject.OnNext(new WorkspaceFolderChange(WorkspaceFolderEvent.Add, folder)); } foreach (var folder in request.Event.Removed) { _workspaceFolders.TryRemove(folder.Uri, out _); if (_workspaceFoldersChangedSubject.IsDisposed) { continue; } _workspaceFoldersChangedSubject.OnNext(new WorkspaceFolderChange(WorkspaceFolderEvent.Remove, folder)); } if (_workspaceFoldersSubject.IsDisposed) { _workspaceFoldersSubject.OnNext(_workspaceFolders.Values); } return(Unit.Task); }
public Task <Unit> Handle(DidChangeWorkspaceFoldersParams request, CancellationToken cancellationToken) => Unit.Task;
public override Task <Unit> Handle(DidChangeWorkspaceFoldersParams request, CancellationToken cancellationToken) => _handler.Invoke(request, cancellationToken);
public abstract Task <Unit> Handle(DidChangeWorkspaceFoldersParams request, CancellationToken cancellationToken);
public async Task <Unit> Handle(DidChangeWorkspaceFoldersParams request, CancellationToken cancellationToken) { await UpdateProjects(UpdateProjectsOptions.ReloadProjects); return(Unit.Value); }
public static void DidChangeWorkspaceFolders(this ILanguageClientWorkspace router, DidChangeWorkspaceFoldersParams @params) { router.SendNotification(WorkspaceNames.DidChangeWorkspaceFolders, @params); }
public abstract RpcResult DidChangeWorkspaceFolders(DidChangeWorkspaceFoldersParams args);