protected async Task CheckResultAsync(string initial, string final, bool specialCaseSystem, CSharpParseOptions options = null) { using var workspace = TestWorkspace.CreateCSharp(initial); var document = workspace.CurrentSolution.GetDocument(workspace.Documents.First().Id); var newRoot = await(await OrganizingService.OrganizeAsync(document)).GetSyntaxRootAsync(); Assert.Equal(final.NormalizeLineEndings(), newRoot.ToFullString()); }
protected void CheckResult(string initial, string final, bool specialCaseSystem, CSharpParseOptions options = null) { using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromFile(initial)) { var document = workspace.CurrentSolution.GetDocument(workspace.Documents.First().Id); var newRoot = OrganizingService.OrganizeAsync(document).Result.GetSyntaxRootAsync().Result; Assert.Equal(final, newRoot.ToFullString()); } }
private void Organize(ITextBuffer subjectBuffer, CancellationToken cancellationToken) { var document = subjectBuffer.CurrentSnapshot.GetOpenDocumentInCurrentContextWithChanges(); if (document != null) { var newDocument = OrganizingService.OrganizeAsync(document, cancellationToken: cancellationToken).WaitAndGetResult(cancellationToken); if (document != newDocument) { ApplyTextChange(document, newDocument); } } }
private void Organize(ITextBuffer subjectBuffer, IUIThreadOperationContext operationContext) { var cancellationToken = operationContext.UserCancellationToken; var document = subjectBuffer.CurrentSnapshot.GetFullyLoadedOpenDocumentInCurrentContextWithChangesAsync(operationContext).WaitAndGetResult(cancellationToken); if (document != null) { var newDocument = OrganizingService.OrganizeAsync(document, cancellationToken: cancellationToken).WaitAndGetResult(cancellationToken); if (document != newDocument) { ApplyTextChange(document, newDocument); } } }
public bool ExecuteCommand(OrganizeDocumentCommandArgs args, CommandExecutionContext context) { using (context.OperationContext.AddScope(allowCancellation: true, EditorFeaturesResources.Organizing_document)) { var cancellationToken = context.OperationContext.UserCancellationToken; var document = args.SubjectBuffer.CurrentSnapshot.GetFullyLoadedOpenDocumentInCurrentContextWithChanges( context.OperationContext, _threadingContext); if (document != null) { var newDocument = OrganizingService.OrganizeAsync(document, cancellationToken: cancellationToken).WaitAndGetResult(cancellationToken); if (document != newDocument) { ApplyTextChange(document, newDocument); } } } return(true); }