Skip to content

Commit 86ad2aa

Browse files
committed
Upgrade to JsonRpc.Standard 0.3.
Target .NET Standard 1.1 & .NET 4.5.
1 parent 11e46a9 commit 86ad2aa

File tree

7 files changed

+22
-16
lines changed

7 files changed

+22
-16
lines changed

DemoLanguageServer/DemoLanguageServer.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="CXuesong.JsonRpc.Standard" Version="0.2.1-int0" />
15+
<PackageReference Include="CXuesong.JsonRpc.Dataflow" Version="0.3.0" />
16+
<PackageReference Include="CXuesong.JsonRpc.Standard" Version="0.3.0" />
1617
<PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.1" />
1718
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
1819
<PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />

DemoLanguageServer/LanguageServerSession.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
namespace DemoLanguageServer
1616
{
17-
public class LanguageServerSession : Session
17+
public class LanguageServerSession
1818
{
1919
private readonly CancellationTokenSource cts = new CancellationTokenSource();
2020

DemoLanguageServer/Program.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
using System.Linq;
88
using System.Reflection;
99
using System.Threading;
10+
using JsonRpc.Dataflow;
1011
using JsonRpc.Standard.Client;
1112
using JsonRpc.Standard.Contracts;
12-
using JsonRpc.Standard.Dataflow;
1313
using JsonRpc.Standard.Server;
1414
using LanguageServer.VsCode;
1515
using Microsoft.Extensions.Logging;
@@ -79,16 +79,14 @@ static void Main(string[] args)
7979
}
8080
}
8181

82-
private static IJsonRpcServiceHost BuildServiceHost(ISession session, TextWriter logWriter,
82+
private static DataflowRpcServiceHost BuildServiceHost(LanguageServerSession session, TextWriter logWriter,
8383
IJsonRpcContractResolver contractResolver, bool debugMode)
8484
{
8585
var loggerFactory = new LoggerFactory();
8686
loggerFactory.AddProvider(new DebugLoggerProvider(null));
87-
var builder = new ServiceHostBuilder
87+
var builder = new JsonRpcServiceHostBuilder
8888
{
8989
ContractResolver = contractResolver,
90-
Session = session,
91-
Options = JsonRpcServiceHostOptions.ConsistentResponseSequence,
9290
LoggerFactory = loggerFactory
9391
};
9492
builder.UseCancellationHandling();
@@ -103,7 +101,12 @@ private static IJsonRpcServiceHost BuildServiceHost(ISession session, TextWriter
103101
lock (logWriter) logWriter.WriteLine("< {0}", context.Response);
104102
});
105103
}
106-
return builder.Build();
104+
var host = builder.Build();
105+
var features = new FeatureCollection();
106+
features.Set(session);
107+
return new DataflowRpcServiceHost(host, features,
108+
DataflowRpcServiceHostOptions.ConsistentResponseSequence |
109+
DataflowRpcServiceHostOptions.SupportsRequestCancellation);
107110
}
108111

109112
}

DemoLanguageServer/Services/DemoLanguageServiceBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace DemoLanguageServer.Services
1212
public class DemoLanguageServiceBase : JsonRpcService
1313
{
1414

15-
protected LanguageServerSession Session => (LanguageServerSession)RequestContext.Session;
15+
protected LanguageServerSession Session => RequestContext.Features.Get<LanguageServerSession>();
1616

1717
protected ClientProxy Client => Session.Client;
1818

DemoLanguageServer/Services/InitializaionService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void Exit()
5353
[JsonRpcMethod("$/cancelRequest", IsNotification = true)]
5454
public void CancelRequest(MessageId id)
5555
{
56-
RequestContext.ServiceHost.TryCancelRequest(id);
56+
RequestContext.Features.Get<IRequestCancellationFeature>().TryCancel(id);
5757
}
5858
}
5959
}

LanguageServer.VsCode/LanguageServer.VsCode.csproj

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard1.3</TargetFramework>
4+
<TargetFrameworks>netstandard1.1;net45</TargetFrameworks>
5+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
6+
<DebugType>full</DebugType>
57
<PackageId>CXuesong.LanguageServer.VsCode</PackageId>
68
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
79
<Authors>CXuesong</Authors>
8-
<Version>0.1.1</Version>
10+
<Version>0.2.0</Version>
911
<Company />
1012
<Description>A .NET Language Server library for VSCode.</Description>
1113
<Copyright>Copyright 2017 CXuesong</Copyright>
@@ -15,8 +17,8 @@
1517
<RepositoryUrl>https://github.com/CXuesong/LanguageServer.NET</RepositoryUrl>
1618
<RepositoryType>git</RepositoryType>
1719
<PackageReleaseNotes>See https://github.com/CXuesong/LanguageServer.NET/releases .</PackageReleaseNotes>
18-
<AssemblyVersion>0.1.1.3</AssemblyVersion>
19-
<FileVersion>0.1.1.3</FileVersion>
20+
<AssemblyVersion>0.2.0.0</AssemblyVersion>
21+
<FileVersion>0.2.0.0</FileVersion>
2022
</PropertyGroup>
2123

2224
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -34,7 +36,7 @@
3436
</ItemGroup>
3537

3638
<ItemGroup>
37-
<PackageReference Include="CXuesong.JsonRpc.Standard" Version="0.2.1-int0" />
39+
<PackageReference Include="CXuesong.JsonRpc.Standard" Version="0.3.0" />
3840
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
3941
</ItemGroup>
4042

LanguageServer.VsCode/LanguageServerExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static class LanguageServerExtensions
1717
/// Interprets any <see cref="OperationCanceledException" /> thrown by the service
1818
/// as <c>RequestCancelled</c> error per definition in Language Server Protocol.
1919
/// </summary>
20-
public static void UseCancellationHandling(this ServiceHostBuilder builder)
20+
public static void UseCancellationHandling(this JsonRpcServiceHostBuilder builder)
2121
{
2222
if (builder == null) throw new ArgumentNullException(nameof(builder));
2323
builder.Intercept(async (context, next) =>

0 commit comments

Comments
 (0)