Skip to content

Commit 5cde9e0

Browse files
minor fixes with some null exceptions...
1 parent 161f12c commit 5cde9e0

File tree

10 files changed

+581
-800
lines changed

10 files changed

+581
-800
lines changed

sample/SampleServer/Program.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ static async Task MainAsync(string[] args)
2525
options
2626
.WithInput(Console.OpenStandardInput())
2727
.WithOutput(Console.OpenStandardOutput())
28-
.WithLoggerFactory(new LoggerFactory()));
28+
.WithLoggerFactory(new LoggerFactory())
29+
.AddDefaultLoggingProvider()
30+
.WithMinimumLogLevel(LogLevel.Trace)
31+
);
2932

3033
server.AddHandlers(new TextDocumentHandler(server));
3134

src/Server/LanguageServer.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ internal LanguageServer(
9191
{
9292
var outputHandler = new OutputHandler(output, serializer);
9393

94+
services.AddLogging();
9495
_reciever = reciever;
9596
_serializer = serializer;
9697
_collection = new HandlerCollection(_supportedCapabilities);
@@ -99,9 +100,10 @@ internal LanguageServer(
99100

100101
services.AddSingleton<IOutputHandler>(outputHandler);
101102
services.AddSingleton(_collection);
102-
services.AddSingleton(serializer);
103+
services.AddSingleton(_serializer);
104+
services.AddSingleton<OmniSharp.Extensions.JsonRpc.ISerializer>(_serializer);
103105
services.AddSingleton(requestProcessIdentifier);
104-
services.AddSingleton(reciever);
106+
services.AddSingleton(_reciever);
105107
services.AddSingleton(loggerFactory);
106108

107109
services.AddJsonRpcMediatR(assemblies);

src/Server/LanguageServerLogger.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ class LanguageServerLogger : ILogger
1212
private readonly LanguageServer _responseRouter;
1313
private readonly Func<LogLevel> _logLevelGetter;
1414

15-
public LanguageServerLogger(LanguageServer responseRouter)
15+
public LanguageServerLogger(LanguageServer responseRouter, Func<LogLevel> logLevelGetter)
1616
{
17+
_logLevelGetter = logLevelGetter;
1718
_responseRouter = responseRouter;
1819
}
1920

src/Server/LanguageServerLoggerProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using Microsoft.Extensions.Logging;
23

34
namespace OmniSharp.Extensions.LanguageServer.Server
@@ -13,7 +14,7 @@ public LanguageServerLoggerProvider(LanguageServer languageServer)
1314

1415
public ILogger CreateLogger(string categoryName)
1516
{
16-
return new LanguageServerLogger(_languageServer);
17+
return new LanguageServerLogger(_languageServer, () => _languageServer.MinimumLogLevel);
1718
}
1819

1920
public void Dispose()

src/Server/LanguageServerOptions.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Reflection;
55
using Microsoft.Extensions.DependencyInjection;
66
using Microsoft.Extensions.Logging;
7+
using Microsoft.Extensions.Logging.Abstractions;
78
using OmniSharp.Extensions.JsonRpc;
89
using OmniSharp.Extensions.LanguageServer.Server.Abstractions;
910
using ISerializer = OmniSharp.Extensions.LanguageServer.Protocol.Serialization.ISerializer;
@@ -18,9 +19,10 @@ public LanguageServerOptions()
1819

1920
public Stream Input { get; set; }
2021
public Stream Output { get; set; }
21-
public ILoggerFactory LoggerFactory { get; set; }
22-
public ISerializer Serializer { get; set; }
23-
public IRequestProcessIdentifier RequestProcessIdentifier { get; set; }
22+
public LogLevel MinimumLogLevel { get; set; } = LogLevel.Information;
23+
public ILoggerFactory LoggerFactory { get; set; } = new LoggerFactory();
24+
public ISerializer Serializer { get; set; } = Protocol.Serialization.Serializer.Instance;
25+
public IRequestProcessIdentifier RequestProcessIdentifier { get; set; } = new RequestProcessIdentifier();
2426
public ILspReciever Reciever { get; set; } = new LspReciever();
2527
public IServiceCollection Services { get; set; } = new ServiceCollection();
2628
internal List<Type> HandlerTypes { get; set; } = new List<Type>();

src/Server/LanguageServerOptionsExtensions.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ public static LanguageServerOptions WithOutput(this LanguageServerOptions option
2222
return options;
2323
}
2424

25+
public static LanguageServerOptions WithMinimumLogLevel(this LanguageServerOptions options, LogLevel logLevel)
26+
{
27+
options.MinimumLogLevel = logLevel;
28+
return options;
29+
}
30+
2531
public static LanguageServerOptions WithLoggerFactory(this LanguageServerOptions options, ILoggerFactory loggerFactory)
2632
{
2733
options.LoggerFactory = loggerFactory;

src/Server/Server.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>netstandard2.0</TargetFrameworks>
44
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -9,6 +9,7 @@
99
<ItemGroup>
1010
<PackageReference Include="System.Reactive" Version="$(System_Reactive_Version)" />
1111
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(Microsoft_Extensions_DependencyInjection_Version)" />
12+
<PackageReference Include="Microsoft.Extensions.Logging" Version="$(Microsoft_Extensions_Logging_Version)" />
1213
</ItemGroup>
1314

1415
<ItemGroup>

0 commit comments

Comments
 (0)