|
15 | 15 | using Microsoft.PowerShell.EditorServices.Handlers;
|
16 | 16 | using Microsoft.PowerShell.EditorServices.Hosting;
|
17 | 17 | using Microsoft.PowerShell.EditorServices.Services;
|
18 |
| -using Microsoft.PowerShell.EditorServices.Services.PowerShellContext; |
19 | 18 | using OmniSharp.Extensions.LanguageServer.Server;
|
| 19 | +using Serilog; |
20 | 20 |
|
21 | 21 | namespace Microsoft.PowerShell.EditorServices.Server
|
22 | 22 | {
|
@@ -59,59 +59,53 @@ public async Task StartAsync()
|
59 | 59 | {
|
60 | 60 | LanguageServer = await OmniSharp.Extensions.LanguageServer.Server.LanguageServer.From(options =>
|
61 | 61 | {
|
62 |
| - options.AddDefaultLoggingProvider(); |
63 |
| - options.LoggerFactory = LoggerFactory; |
64 |
| - ILogger logger = options.LoggerFactory.CreateLogger("OptionsStartup"); |
65 |
| - options.Services = new ServiceCollection() |
66 |
| - .AddSingleton<WorkspaceService>() |
67 |
| - .AddSingleton<SymbolsService>() |
68 |
| - .AddSingleton<ConfigurationService>() |
69 |
| - .AddSingleton<PowerShellContextService>( |
70 |
| - (provider) => |
71 |
| - PowerShellContextService.Create( |
72 |
| - LoggerFactory, |
73 |
| - provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>(), |
74 |
| - _profilePaths, |
75 |
| - _featureFlags, |
76 |
| - _enableConsoleRepl, |
77 |
| - _internalHost, |
78 |
| - _hostDetails, |
79 |
| - _additionalModules)) |
80 |
| - .AddSingleton<TemplateService>() |
81 |
| - .AddSingleton<EditorOperationsService>() |
82 |
| - .AddSingleton<RemoteFileManagerService>() |
83 |
| - .AddSingleton<ExtensionService>( |
84 |
| - (provider) => |
85 |
| - { |
86 |
| - var extensionService = new ExtensionService( |
87 |
| - provider.GetService<PowerShellContextService>(), |
88 |
| - provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>()); |
89 |
| - extensionService.InitializeAsync( |
90 |
| - serviceProvider: provider, |
91 |
| - editorOperations: provider.GetService<EditorOperationsService>()) |
92 |
| - .Wait(); |
93 |
| - return extensionService; |
94 |
| - }) |
95 |
| - .AddSingleton<AnalysisService>( |
96 |
| - (provider) => |
97 |
| - { |
98 |
| - return AnalysisService.Create( |
99 |
| - provider.GetService<ConfigurationService>(), |
100 |
| - provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>(), |
101 |
| - options.LoggerFactory.CreateLogger<AnalysisService>()); |
102 |
| - }); |
103 |
| - |
104 | 62 | (Stream input, Stream output) = GetInputOutputStreams();
|
105 | 63 |
|
106 | 64 | options
|
107 | 65 | .WithInput(input)
|
108 |
| - .WithOutput(output); |
109 |
| - |
110 |
| - options.MinimumLogLevel = _minimumLogLevel; |
111 |
| - |
112 |
| - logger.LogInformation("Adding handlers"); |
113 |
| - |
114 |
| - options |
| 66 | + .WithOutput(output) |
| 67 | + .WithServices(serviceCollection => serviceCollection |
| 68 | + .AddSingleton<WorkspaceService>() |
| 69 | + .AddSingleton<SymbolsService>() |
| 70 | + .AddSingleton<ConfigurationService>() |
| 71 | + .AddSingleton<PowerShellContextService>( |
| 72 | + (provider) => |
| 73 | + PowerShellContextService.Create( |
| 74 | + provider.GetService<ILoggerFactory>(), |
| 75 | + provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>(), |
| 76 | + _profilePaths, |
| 77 | + _featureFlags, |
| 78 | + _enableConsoleRepl, |
| 79 | + _internalHost, |
| 80 | + _hostDetails, |
| 81 | + _additionalModules)) |
| 82 | + .AddSingleton<TemplateService>() |
| 83 | + .AddSingleton<EditorOperationsService>() |
| 84 | + .AddSingleton<RemoteFileManagerService>() |
| 85 | + .AddSingleton<ExtensionService>( |
| 86 | + (provider) => |
| 87 | + { |
| 88 | + var extensionService = new ExtensionService( |
| 89 | + provider.GetService<PowerShellContextService>(), |
| 90 | + provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>()); |
| 91 | + extensionService.InitializeAsync( |
| 92 | + serviceProvider: provider, |
| 93 | + editorOperations: provider.GetService<EditorOperationsService>()) |
| 94 | + .Wait(); |
| 95 | + return extensionService; |
| 96 | + }) |
| 97 | + .AddSingleton<AnalysisService>( |
| 98 | + (provider) => |
| 99 | + { |
| 100 | + return AnalysisService.Create( |
| 101 | + provider.GetService<ConfigurationService>(), |
| 102 | + provider.GetService<OmniSharp.Extensions.LanguageServer.Protocol.Server.ILanguageServer>(), |
| 103 | + provider.GetService<ILoggerFactory>().CreateLogger<AnalysisService>()); |
| 104 | + })) |
| 105 | + .ConfigureLogging(builder => builder |
| 106 | + .AddSerilog(Log.Logger) |
| 107 | + .SetMinimumLevel(LogLevel.Trace)) |
| 108 | + .AddDefaultLoggingProvider() |
115 | 109 | .WithHandler<WorkspaceSymbolsHandler>()
|
116 | 110 | .WithHandler<TextDocumentHandler>()
|
117 | 111 | .WithHandler<GetVersionHandler>()
|
@@ -154,8 +148,6 @@ await serviceProvider.GetService<PowerShellContextService>().SetWorkingDirectory
|
154 | 148 | isPathAlreadyEscaped: false);
|
155 | 149 | }
|
156 | 150 | });
|
157 |
| - |
158 |
| - logger.LogInformation("Handlers added"); |
159 | 151 | });
|
160 | 152 | }
|
161 | 153 |
|
|
0 commit comments