Skip to content

Commit 19748f9

Browse files
authored
Merge branch 'master' into dev/jorobich/fixup-1336
2 parents 6fcca82 + b5caaad commit 19748f9

16 files changed

+134
-85
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"rollForward": false
3232
},
3333
"jetbrains.resharper.globaltools": {
34-
"version": "2024.3.4",
34+
"version": "2024.3.5",
3535
"commands": [
3636
"jb"
3737
],

.github/workflows/sync-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
- name: Run Labeler
2222
if: success()
23-
uses: crazy-max/ghaction-github-labeler@v5.1.0
23+
uses: crazy-max/ghaction-github-labeler@v5.2.0
2424
with:
2525
yaml-file: .github/labels.yml
2626
skip-delete: false

Directory.Packages.props

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,36 +22,36 @@
2222
</ItemGroup>
2323
<ItemGroup>
2424
<PackageVersion Include="GitVersion.Tool" Version="6.1.0" />
25-
<PackageVersion Include="JetBrains.ReSharper.CommandLineTools" Version="2024.3.4" />
25+
<PackageVersion Include="JetBrains.ReSharper.CommandLineTools" Version="2024.3.5" />
2626
<PackageVersion Include="ReportGenerator" Version="5.4.3" />
2727
<PackageVersion Include="Rocket.Surgery.Nuke" Version="2.9.10" />
2828
</ItemGroup>
2929
<ItemGroup>
3030
<!-- backwards compat is maintained in Directory.Packages.supports.props -->
31-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.1" />
32-
<PackageVersion Include="Microsoft.Extensions.Logging.Debug" Version="8.0.1" />
33-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
34-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
35-
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
36-
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
37-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
31+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.1" />
32+
<PackageVersion Include="Microsoft.Extensions.Logging.Debug" Version="9.0.1" />
33+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.1" />
34+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.1" />
35+
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.1" />
36+
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.1" />
37+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.1" />
3838
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
3939
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
40-
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.1" />
40+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.2" />
4141
<PackageVersion Include="xunit" Version="2.9.3" />
42-
<PackageVersion Include="FluentAssertions" Version="7.1.0" />
43-
<PackageVersion Include="Verify.Xunit" Version="28.0.0" />
44-
<PackageVersion Include="Verify.SourceGenerators" Version="2.4.3" />
42+
<PackageVersion Include="FluentAssertions" Version="8.0.1" />
43+
<PackageVersion Include="Verify.Xunit" Version="28.10.1" />
44+
<PackageVersion Include="Verify.SourceGenerators" Version="2.5.0" />
4545
<PackageVersion Include="NSubstitute" Version="5.3.0" />
46-
<PackageVersion Include="Serilog.Extensions.Logging" Version="8.0.0" />
46+
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.0" />
4747
<PackageVersion Include="Serilog.Sinks.Observable" Version="3.0.0" />
4848
<PackageVersion Include="Serilog.Sinks.XUnit" Version="3.0.19" />
4949
<PackageVersion Include="XunitXml.TestLogger" Version="5.0.0" />
5050
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
5151
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
5252
<PackageVersion Include="System.Reactive" Version="6.0.1" />
53-
<PackageVersion Include="System.Collections.Immutable" Version="7.0.0" />
54-
<PackageVersion Include="System.Threading.Channels" Version="7.0.0" />
53+
<PackageVersion Include="System.Collections.Immutable" Version="9.0.1" />
54+
<PackageVersion Include="System.Threading.Channels" Version="9.0.1" />
5555
<PackageVersion Include="Microsoft.Reactive.Testing" Version="6.0.1" />
5656
<PackageVersion Include="MediatR" Version="12.4.1" />
5757
<PackageVersion Include="Bogus" Version="35.6.1" />

test/Dap.Tests/FoundationTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,15 +249,15 @@ public void HandlersShouldHaveExpectedExtensionMethodsBasedOnDirection(
249249
extensionClass.GetMethods(BindingFlags.Static | BindingFlags.Public)
250250
.Where(z => z.Name == onMethodName)
251251
.Where(z => item.matcher(z.GetParameters()[0]))
252-
.Should().HaveCountGreaterOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a registry implementation for {item.type}");
252+
.Should().HaveCountGreaterThanOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a registry implementation for {item.type}");
253253
}
254254

255255
foreach (var item in expectedRequestHandlers)
256256
{
257257
extensionClass.GetMethods(BindingFlags.Static | BindingFlags.Public)
258258
.Where(z => z.Name == sendMethodName)
259259
.Where(z => item.matcher(z.GetParameters()[0]))
260-
.Should().HaveCountGreaterOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a request implementation for {item.type}");
260+
.Should().HaveCountGreaterThanOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a request implementation for {item.type}");
261261
}
262262

263263
{
@@ -268,7 +268,7 @@ Func<MethodInfo, bool> ForParameter(int index, Func<ParameterInfo, bool> m)
268268
return info => m(info.GetParameters()[index]);
269269
}
270270

271-
var containsCancellationToken = ForParameter(1, info => info.ParameterType.GetGenericArguments().Reverse().Take(2).Any(x => x == typeof(CancellationToken)));
271+
var containsCancellationToken = ForParameter(1, info => info.ParameterType.GetGenericArguments().AsEnumerable().Reverse().Take(2).Any(x => x == typeof(CancellationToken)));
272272
var returnType = descriptor.HasResponseType ? typeof(Task<>).MakeGenericType(descriptor.ResponseType!) : typeof(Task);
273273
var returns = ForParameter(1, info => info.ParameterType.GetGenericArguments().LastOrDefault() == returnType);
274274
var isAction = ForParameter(1, info => info.ParameterType.Name.StartsWith(nameof(Action)));
@@ -291,7 +291,7 @@ Func<MethodInfo, bool> ForParameter(int index, Func<ParameterInfo, bool> m)
291291
}
292292
{
293293
var matcher = new MethodMatcher(sendMethodRegistries, descriptor, extensionClass, sendMethodName);
294-
Func<MethodInfo, bool> containsCancellationToken = info => info.GetParameters().Reverse().Take(2).Any(x => x.ParameterType == typeof(CancellationToken));
294+
Func<MethodInfo, bool> containsCancellationToken = info => info.GetParameters().AsEnumerable().Reverse().Take(2).Any(x => x.ParameterType == typeof(CancellationToken));
295295
var returnType = descriptor.HasResponseType ? typeof(Task<>).MakeGenericType(descriptor.ResponseType!) : typeof(Task);
296296
Func<MethodInfo, bool> returns = info => info.ReturnType == returnType;
297297
Func<MethodInfo, bool> isAction = info => info.ReturnType.Name == "Void";
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,42 @@
11
{
22
Diagnostics: [
33
{
4-
Id: JRPC1003,
5-
Title: Cannot infer request router(s),
6-
Severity: Error,
7-
WarningLevel: 0,
8-
Location: Test0.cs: (15,66)-(15,88),
9-
MessageFormat: Could not infer the request router(s) to use, please specify the target interface(s).,
4+
Location: /*
5+
{
6+
[Serial, Method(GeneralNames.Exit, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods]
7+
^^^^^^^^^^^^^^^^^^^^^^
8+
public interface IExitHandler : IJsonRpcNotificationHandler<ExitParams>
9+
*/
10+
Test0.cs: (15,66)-(15,88),
1011
Message: Could not infer the request router(s) to use, please specify the target interface(s).,
11-
Category: JsonRPC
12+
Severity: Error,
13+
Descriptor: {
14+
Id: JRPC1003,
15+
Title: Cannot infer request router(s),
16+
MessageFormat: Could not infer the request router(s) to use, please specify the target interface(s).,
17+
Category: JsonRPC,
18+
DefaultSeverity: Error,
19+
IsEnabledByDefault: true
20+
}
1221
},
1322
{
14-
Id: JRPC1003,
15-
Title: Cannot infer request router(s),
16-
Severity: Error,
17-
WarningLevel: 0,
18-
Location: Test0.cs: (15,90)-(15,112),
19-
MessageFormat: Could not infer the request router(s) to use, please specify the target interface(s).,
23+
Location: /*
24+
{
25+
[Serial, Method(GeneralNames.Exit, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods]
26+
^^^^^^^^^^^^^^^^^^^^^^
27+
public interface IExitHandler : IJsonRpcNotificationHandler<ExitParams>
28+
*/
29+
Test0.cs: (15,90)-(15,112),
2030
Message: Could not infer the request router(s) to use, please specify the target interface(s).,
21-
Category: JsonRPC
31+
Severity: Error,
32+
Descriptor: {
33+
Id: JRPC1003,
34+
Title: Cannot infer request router(s),
35+
MessageFormat: Could not infer the request router(s) to use, please specify the target interface(s).,
36+
Category: JsonRPC,
37+
DefaultSeverity: Error,
38+
IsEnabledByDefault: true
39+
}
2240
}
2341
]
2442
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
{
22
Diagnostics: [
33
{
4-
Id: JRPC1001,
5-
Title: No Response Router Provided,
4+
Location: /*
5+
[Serial, Method(TextDocumentNames.DidChange, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods]
6+
public interface IDidChangeTextDocumentHandler : IJsonRpcNotificationHandler<DidChangeTextDocumentParams>,
7+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8+
IRegistration<TextDocumentChangeRegistrationOptions, TextSynchronizationCapability>
9+
*/
10+
Test0.cs: (17,21)-(17,50),
11+
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
612
Severity: Info,
713
WarningLevel: 1,
8-
Location: Test0.cs: (17,21)-(17,50),
9-
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
10-
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
11-
Category: JsonRPC
14+
Descriptor: {
15+
Id: JRPC1001,
16+
Title: No Response Router Provided,
17+
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
18+
Category: JsonRPC,
19+
DefaultSeverity: Info,
20+
IsEnabledByDefault: true
21+
}
1222
}
1323
]
1424
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
{
22
Diagnostics: [
33
{
4-
Id: JRPC1001,
5-
Title: No Response Router Provided,
4+
Location: /*
5+
[Serial, Method(GeneralNames.Exit, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods]
6+
public interface IExitHandler : IJsonRpcNotificationHandler<ExitParams>
7+
^^^^^^^^^^^^
8+
{
9+
*/
10+
Test0.cs: (16,21)-(16,33),
11+
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
612
Severity: Info,
713
WarningLevel: 1,
8-
Location: Test0.cs: (16,21)-(16,33),
9-
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
10-
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
11-
Category: JsonRPC
14+
Descriptor: {
15+
Id: JRPC1001,
16+
Title: No Response Router Provided,
17+
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
18+
Category: JsonRPC,
19+
DefaultSeverity: Info,
20+
IsEnabledByDefault: true
21+
}
1222
}
1323
]
1424
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
{
22
Diagnostics: [
33
{
4-
Id: JRPC1001,
5-
Title: No Response Router Provided,
4+
Location: /*
5+
[Parallel, Method(TextDocumentNames.Definition, Direction.ClientToServer), GenerateHandlerMethods, GenerateRequestMethods, Obsolete("This is obsolete")]
6+
public interface IDefinitionHandler : IJsonRpcRequestHandler<DefinitionParams, LocationOrLocationLinks>, IRegistration<DefinitionRegistrationOptions, DefinitionCapability> { }
7+
^^^^^^^^^^^^^^^^^^
8+
}
9+
*/
10+
Test0.cs: (17,21)-(17,39),
11+
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
612
Severity: Info,
713
WarningLevel: 1,
8-
Location: Test0.cs: (17,21)-(17,39),
9-
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
10-
Message: No Response Router Provided for handler {0}, defaulting to {1}.,
11-
Category: JsonRPC
14+
Descriptor: {
15+
Id: JRPC1001,
16+
Title: No Response Router Provided,
17+
MessageFormat: No Response Router Provided for handler {0}, defaulting to {1}.,
18+
Category: JsonRPC,
19+
DefaultSeverity: Info,
20+
IsEnabledByDefault: true
21+
}
1222
}
1323
]
1424
}

test/Lsp.Integration.Tests/FluentAssertionsExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Lsp.Integration.Tests
99
{
1010
public static class FluentAssertionsExtensions
1111
{
12-
public static EquivalencyAssertionOptions<T> ConfigureForSupports<T>(this EquivalencyAssertionOptions<T> options, ILogger? logger = null)
12+
public static EquivalencyOptions<T> ConfigureForSupports<T>(this EquivalencyOptions<T> options, ILogger? logger = null)
1313
{
1414
return options
1515
.WithTracing(new TraceWriter(logger ?? NullLogger.Instance))

test/Lsp.Tests/FluentAssertionsExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Lsp.Tests
99
{
1010
public static class FluentAssertionsExtensions
1111
{
12-
public static EquivalencyAssertionOptions<T> ConfigureForSupports<T>(this EquivalencyAssertionOptions<T> options, ILogger? logger = null)
12+
public static EquivalencyOptions<T> ConfigureForSupports<T>(this EquivalencyOptions<T> options, ILogger? logger = null)
1313
{
1414
return options
1515
.WithTracing(new TraceWriter(logger ?? NullLogger.Instance))

test/Lsp.Tests/FoundationTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Diagnostics;
44
using System.IO.Pipelines;
@@ -262,13 +262,13 @@ public void HandlersShouldExtensionMethodClassWithMethods(
262262
{
263263
registries
264264
.Where(z => typeof(ILanguageClientProxy).IsAssignableFrom(z) || typeof(ILanguageServerRegistry).IsAssignableFrom(z))
265-
.Should().HaveCountGreaterOrEqualTo(
265+
.Should().HaveCountGreaterThanOrEqualTo(
266266
1,
267267
$"{descriptor.HandlerType.FullName} there should be methods for both handing the event and sending the event"
268268
);
269269
registries
270270
.Where(z => typeof(ILanguageServerProxy).IsAssignableFrom(z) || typeof(ILanguageClientRegistry).IsAssignableFrom(z))
271-
.Should().HaveCountGreaterOrEqualTo(
271+
.Should().HaveCountGreaterThanOrEqualTo(
272272
1,
273273
$"{descriptor.HandlerType.FullName} there should be methods for both handing the event and sending the event"
274274
);
@@ -277,7 +277,7 @@ public void HandlersShouldExtensionMethodClassWithMethods(
277277
{
278278
registries
279279
.Where(z => typeof(ILanguageServerProxy).IsAssignableFrom(z) || typeof(ILanguageClientRegistry).IsAssignableFrom(z))
280-
.Should().HaveCountGreaterOrEqualTo(
280+
.Should().HaveCountGreaterThanOrEqualTo(
281281
1,
282282
$"{descriptor.HandlerType.FullName} there should be methods for both handing the event and sending the event"
283283
);
@@ -289,7 +289,7 @@ public void HandlersShouldExtensionMethodClassWithMethods(
289289
{
290290
registries
291291
.Where(z => typeof(ILanguageClientProxy).IsAssignableFrom(z) || typeof(ILanguageServerRegistry).IsAssignableFrom(z))
292-
.Should().HaveCountGreaterOrEqualTo(
292+
.Should().HaveCountGreaterThanOrEqualTo(
293293
1,
294294
$"{descriptor.HandlerType.FullName} there should be methods for both handing the event and sending the event"
295295
);
@@ -341,15 +341,15 @@ public void HandlersShouldHaveExpectedExtensionMethodsBasedOnDirection(
341341
extensionClass.GetMethods(BindingFlags.Static | BindingFlags.Public)
342342
.Where(z => z.Name == onMethodName)
343343
.Where(z => item.matcher(z.GetParameters()[0]))
344-
.Should().HaveCountGreaterOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a registry implementation for {item.type}");
344+
.Should().HaveCountGreaterThanOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a registry implementation for {item.type}");
345345
}
346346

347347
foreach (var item in expectedRequestHandlers)
348348
{
349349
extensionClass.GetMethods(BindingFlags.Static | BindingFlags.Public)
350350
.Where(z => z.Name == sendMethodName)
351351
.Where(z => item.matcher(z.GetParameters()[0]))
352-
.Should().HaveCountGreaterOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a request implementation for {item.type}");
352+
.Should().HaveCountGreaterThanOrEqualTo(1, $"{descriptor.HandlerType.FullName} is missing a request implementation for {item.type}");
353353
}
354354
}
355355

@@ -386,7 +386,7 @@ Func<MethodInfo, bool> ForAnyParameter(Func<ParameterInfo, bool> m)
386386
}
387387

388388
var containsCancellationToken = ForAnyParameter(
389-
info => info.ParameterType.GetGenericArguments().Reverse().Take(2).Any(x => x == typeof(CancellationToken))
389+
info => info.ParameterType.GetGenericArguments().AsEnumerable().Reverse().Take(2).Any(x => x == typeof(CancellationToken))
390390
);
391391
var returnType = descriptor.HasResponseType ? typeof(Task<>).MakeGenericType(descriptor.ResponseType!) : typeof(Task);
392392
var returns = ForAnyParameter(info => info.ParameterType.GetGenericArguments().LastOrDefault() == returnType);
@@ -517,7 +517,7 @@ Func<MethodInfo, bool> ForAnyParameter(Func<ParameterInfo, bool> m)
517517
{
518518
var matcher = new MethodMatcher(sendMethodRegistries, descriptor, extensionClass);
519519
Func<MethodInfo, bool> containsCancellationToken =
520-
info => info.GetParameters().Reverse().Take(2).Any(x => x.ParameterType == typeof(CancellationToken));
520+
info => info.GetParameters().AsEnumerable().Reverse().Take(2).Any(x => x.ParameterType == typeof(CancellationToken));
521521
var returnType = descriptor.HasResponseType ? typeof(Task<>).MakeGenericType(descriptor.ResponseType!) : typeof(Task);
522522
Func<MethodInfo, bool> returns = info => info.ReturnType == returnType;
523523
Func<MethodInfo, bool> isAction = info => info.ReturnType.Name == "Void";

test/Lsp.Tests/Models/PositionTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ public void Is_Sortable_By_Character()
3434

3535
a.CompareTo(c).Should().Be(0);
3636

37-
a.Should().BeLessOrEqualTo(c);
38-
a.Should().BeGreaterOrEqualTo(c);
37+
a.Should().BeLessThanOrEqualTo(c);
38+
a.Should().BeGreaterThanOrEqualTo(c);
3939
}
4040

4141
[Fact]
@@ -50,8 +50,8 @@ public void Is_Sortable_By_Line()
5050

5151
a.CompareTo(c).Should().Be(0);
5252

53-
a.Should().BeLessOrEqualTo(c);
54-
a.Should().BeGreaterOrEqualTo(c);
53+
a.Should().BeLessThanOrEqualTo(c);
54+
a.Should().BeGreaterThanOrEqualTo(c);
5555
}
5656

5757
[Fact]

0 commit comments

Comments
 (0)