Skip to content

Commit ffa03c9

Browse files
committed
refactor: fix PR comments
1 parent e91885e commit ffa03c9

File tree

28 files changed

+198
-173
lines changed

28 files changed

+198
-173
lines changed
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
using System.Threading;
2+
using System.Threading.Tasks;
3+
14
namespace OmniSharp.Eventing
25
{
36
public interface IEventEmitter
47
{
5-
void Emit(string kind, object args);
8+
ValueTask EmitAsync(string kind, object args, CancellationToken cancellationToken = default);
69
}
7-
}
10+
}
Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,60 @@
11
using System;
22
using System.Collections.Generic;
33
using OmniSharp.Models.Events;
4-
using OmniSharp;
54
using OmniSharp.Models;
65
using System.Linq;
6+
using System.Threading;
7+
using System.Threading.Tasks;
78

89
namespace OmniSharp.Eventing
910
{
1011
public static class IEventEmitterExtensions
1112
{
12-
public static void Error(this IEventEmitter emitter, Exception ex, string fileName = null)
13-
{
14-
emitter.Emit(
13+
public static ValueTask ErrorAsync(this IEventEmitter emitter, Exception ex, string fileName = null, CancellationToken cancellationToken = default) =>
14+
emitter.EmitAsync(
1515
EventTypes.Error,
16-
new ErrorMessage { FileName = fileName, Text = ex.ToString() });
17-
}
16+
new ErrorMessage { FileName = fileName, Text = ex.ToString() },
17+
cancellationToken);
1818

19-
public static void RestoreStarted(this IEventEmitter emitter, string projectPath)
20-
{
21-
emitter.Emit(
19+
public static ValueTask RestoreStartedAsync(this IEventEmitter emitter, string projectPath, CancellationToken cancellationToken = default) =>
20+
emitter.EmitAsync(
2221
EventTypes.PackageRestoreStarted,
23-
new PackageRestoreMessage { FileName = projectPath });
24-
}
22+
new PackageRestoreMessage { FileName = projectPath },
23+
cancellationToken);
2524

26-
public static void RestoreFinished(this IEventEmitter emitter, string projectPath, bool succeeded)
27-
{
28-
emitter.Emit(
25+
public static ValueTask RestoreFinishedAsync(this IEventEmitter emitter, string projectPath, bool succeeded, CancellationToken cancellationToken = default) =>
26+
emitter.EmitAsync(
2927
EventTypes.PackageRestoreFinished,
3028
new PackageRestoreMessage
3129
{
3230
FileName = projectPath,
3331
Succeeded = succeeded
34-
});
35-
}
32+
},
33+
cancellationToken);
3634

37-
public static void UnresolvedDepdendencies(this IEventEmitter emitter, string projectFilePath, IEnumerable<PackageDependency> unresolvedDependencies)
38-
{
39-
emitter.Emit(
35+
public static ValueTask UnresolvedDependenciesAsync(this IEventEmitter emitter, string projectFilePath, IEnumerable<PackageDependency> unresolvedDependencies, CancellationToken cancellationToken = default) =>
36+
emitter.EmitAsync(
4037
EventTypes.UnresolvedDependencies,
4138
new UnresolvedDependenciesMessage
4239
{
4340
FileName = projectFilePath,
4441
UnresolvedDependencies = unresolvedDependencies
45-
});
46-
}
42+
},
43+
cancellationToken);
4744

48-
public static void ProjectLoadingStarted(this IEventEmitter emitter, string projectPath) =>
49-
emitter.Emit(
45+
public static ValueTask ProjectLoadingStartedAsync(this IEventEmitter emitter, string projectPath, CancellationToken cancellationToken = default) =>
46+
emitter.EmitAsync(
5047
EventTypes.ProjectLoadingStarted,
51-
projectPath);
48+
projectPath,
49+
cancellationToken);
50+
51+
public static ValueTask ProjectLoadingFinishedAsync(this IEventEmitter emitter, string projectPath, CancellationToken cancellationToken = default) =>
52+
emitter.EmitAsync(
53+
EventTypes.ProjectLoadingFinished,
54+
projectPath,
55+
cancellationToken);
5256

53-
public static void ProjectInformation(this IEventEmitter emitter,
57+
public static async Task ProjectInformationAsync(this IEventEmitter emitter,
5458
HashedString projectId,
5559
HashedString sessionId,
5660
int outputKind,
@@ -61,7 +65,7 @@ public static void ProjectInformation(this IEventEmitter emitter,
6165
IEnumerable<HashedString> fileExtensions,
6266
IEnumerable<int> fileCounts,
6367
bool sdkStyleProject,
64-
string projectFilePath)
68+
CancellationToken cancellationToken = default)
6569
{
6670
var projectConfiguration = new ProjectConfigurationMessage()
6771
{
@@ -74,13 +78,13 @@ public static void ProjectInformation(this IEventEmitter emitter,
7478
References = references.Select(hashed => hashed.Value),
7579
FileExtensions = fileExtensions.Select(hashed => hashed.Value),
7680
FileCounts = fileCounts,
77-
SdkStyleProject = sdkStyleProject,
78-
ProjectFilePath = projectFilePath
81+
SdkStyleProject = sdkStyleProject
7982
};
8083

81-
emitter.Emit(
84+
await emitter.EmitAsync(
8285
EventTypes.ProjectConfiguration,
83-
projectConfiguration);
86+
projectConfiguration,
87+
cancellationToken);
8488
}
8589
}
8690
}

src/OmniSharp.Abstractions/Models/Events/EventTypes.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace OmniSharp.Models.Events
33
public static class EventTypes
44
{
55
public const string ProjectLoadingStarted = nameof(ProjectLoadingStarted);
6+
public const string ProjectLoadingFinished = nameof(ProjectLoadingFinished);
67
public const string ProjectAdded = nameof(ProjectAdded);
78
public const string ProjectChanged = nameof(ProjectChanged);
89
public const string ProjectRemoved = nameof(ProjectRemoved);

src/OmniSharp.Abstractions/Models/Events/ProjectConfigurationMessage.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@ public class ProjectConfigurationMessage
1515
public IEnumerable<string> FileExtensions { get; set; }
1616
public IEnumerable<int> FileCounts { get; set; }
1717
public bool SdkStyleProject { get; set; }
18-
public string ProjectFilePath { get; set; }
1918
}
2019
}

src/OmniSharp.DotNetTest/Services/BaseTestService.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using Microsoft.Extensions.Logging;
1+
using System.Threading;
2+
using System.Threading.Tasks;
3+
using Microsoft.Extensions.Logging;
24
using OmniSharp.Eventing;
35
using OmniSharp.Services;
46

@@ -19,11 +21,11 @@ protected BaseTestService(OmniSharpWorkspace workspace, IDotNetCliService dotNet
1921
LoggerFactory = loggerFactory;
2022
}
2123

22-
protected TestManager CreateTestManager(string fileName, bool noBuild)
24+
protected async Task<TestManager> CreateTestManagerAsync(string fileName, bool noBuild, CancellationToken cancellationToken = default)
2325
{
2426
var document = Workspace.GetDocument(fileName);
2527

26-
return TestManager.Start(document.Project, DotNetCli, EventEmitter, LoggerFactory, noBuild);
28+
return await TestManager.Start(document.Project, DotNetCli, EventEmitter, LoggerFactory, noBuild, cancellationToken);
2729
}
2830
}
2931
}

src/OmniSharp.DotNetTest/Services/BaseTestService`2.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ protected BaseTestService(OmniSharpWorkspace workspace, IDotNetCliService dotNet
2222

2323
public async Task<TResponse> Handle(TRequest request)
2424
{
25-
using (var testManager = CreateTestManager(request.FileName, request.NoBuild))
25+
using (var testManager = await CreateTestManagerAsync(request.FileName, request.NoBuild))
2626
{
2727
return await HandleRequest(request, testManager);
2828
}

src/OmniSharp.DotNetTest/Services/DebugTestClassService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public DebugTestClassService(DebugSessionManager debugSessionManager, OmniSharpW
2525

2626
public async Task<DebugTestGetStartInfoResponse> Handle(DebugTestClassGetStartInfoRequest request)
2727
{
28-
var testManager = CreateTestManager(request.FileName, request.NoBuild);
28+
var testManager = await CreateTestManagerAsync(request.FileName, request.NoBuild);
2929
_debugSessionManager.StartSession(testManager);
3030

3131
return await _debugSessionManager.DebugGetStartInfoAsync(request.MethodNames, request.RunSettings, request.TestFrameworkName, request.TargetFrameworkVersion, CancellationToken.None);

src/OmniSharp.DotNetTest/Services/DebugTestService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ public DebugTestService(DebugSessionManager debugSessionManager, OmniSharpWorksp
2929
_debugSessionManager = debugSessionManager;
3030
}
3131

32-
public Task<DebugTestGetStartInfoResponse> Handle(DebugTestGetStartInfoRequest request)
32+
public async Task<DebugTestGetStartInfoResponse> Handle(DebugTestGetStartInfoRequest request)
3333
{
34-
var testManager = CreateTestManager(request.FileName, request.NoBuild);
34+
var testManager = await CreateTestManagerAsync(request.FileName, request.NoBuild);
3535
if (testManager.IsConnected)
3636
{
3737
//only if the test manager connected successfully, shall we proceed with the request
3838
_debugSessionManager.StartSession(testManager);
39-
return _debugSessionManager.DebugGetStartInfoAsync(request.MethodName, request.RunSettings, request.TestFrameworkName, request.TargetFrameworkVersion, CancellationToken.None);
39+
return await _debugSessionManager.DebugGetStartInfoAsync(request.MethodName, request.RunSettings, request.TestFrameworkName, request.TargetFrameworkVersion, CancellationToken.None);
4040
}
4141

4242
throw new InvalidOperationException("The debugger could not be started");

src/OmniSharp.DotNetTest/Services/DebugTestsInContextService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public async Task<DebugTestGetStartInfoResponse> Handle(DebugTestsInContextGetSt
4040
};
4141
}
4242

43-
var testManager = TestManager.Create(document.Project, DotNetCli, EventEmitter, LoggerFactory);
43+
var testManager = await TestManager.CreateAsync(document.Project, DotNetCli, EventEmitter, LoggerFactory);
4444

4545
var (methodNames, testFramework) = await testManager.GetContextTestMethodNames(request.Line, request.Column, document, CancellationToken.None);
4646

src/OmniSharp.DotNetTest/Services/RunTestsInContextService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public async Task<RunTestResponse> Handle(RunTestsInContextRequest request)
3434
};
3535
}
3636

37-
using var testManager = TestManager.Create(document.Project, DotNetCli, EventEmitter, LoggerFactory);
37+
using var testManager = await TestManager.CreateAsync(document.Project, DotNetCli, EventEmitter, LoggerFactory);
3838

3939
var (methodNames, testFramework) = await testManager.GetContextTestMethodNames(request.Line, request.Column, document, CancellationToken.None);
4040

0 commit comments

Comments
 (0)