Skip to content

Commit 945d616

Browse files
authored
Close over public APIs not designed for exposure and add new safe APIs (#1183)
1 parent 140c976 commit 945d616

File tree

139 files changed

+2237
-693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+2237
-693
lines changed

Diff for: module/PowerShellEditorServices/Commands/Public/CmdletInterface.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function Register-EditorCommand {
4747
$commandArgs += $Function
4848
}
4949

50-
$editorCommand = New-Object Microsoft.PowerShell.EditorServices.Services.PowerShellContext.EditorCommand -ArgumentList $commandArgs
50+
$editorCommand = New-Object Microsoft.PowerShell.EditorServices.Extensions.EditorCommand -ArgumentList $commandArgs
5151
if ($psEditor.RegisterCommand($editorCommand))
5252
{
5353
Write-Verbose "Registered new command '$Name'"

Diff for: src/PowerShellEditorServices.Hosting/Configuration/HostLogger.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public enum PsesLogLevel
3232
/// A logging front-end for host startup allowing handover to the backend
3333
/// and decoupling from the host's particular logging sink.
3434
/// </summary>
35-
public class HostLogger :
35+
public sealed class HostLogger :
3636
IObservable<(PsesLogLevel logLevel, string message)>,
3737
IObservable<(int logLevel, string message)>
3838
{

Diff for: src/PowerShellEditorServices.Hosting/Configuration/SessionFileWriter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public interface ISessionFileWriter
3636
/// <summary>
3737
/// The default session file writer, which uses PowerShell to write a session file.
3838
/// </summary>
39-
public class SessionFileWriter : ISessionFileWriter
39+
public sealed class SessionFileWriter : ISessionFileWriter
4040
{
4141
// Use BOM-less UTF-8 for session file
4242
private static readonly Encoding s_sessionFileEncoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);

Diff for: src/PowerShellEditorServices.Hosting/Configuration/TransportConfig.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public interface ITransportConfig
4141
/// <summary>
4242
/// Configuration for the standard input/output transport.
4343
/// </summary>
44-
public class StdioTransportConfig : ITransportConfig
44+
public sealed class StdioTransportConfig : ITransportConfig
4545
{
4646
public string EndpointDetails => "<stdio>";
4747

@@ -58,7 +58,7 @@ public class StdioTransportConfig : ITransportConfig
5858
/// <summary>
5959
/// Configuration for a full duplex named pipe.
6060
/// </summary>
61-
public class DuplexNamedPipeTransportConfig : ITransportConfig
61+
public sealed class DuplexNamedPipeTransportConfig : ITransportConfig
6262
{
6363
/// <summary>
6464
/// Create a duplex named pipe transport config with an automatically generated pipe name.
@@ -108,7 +108,7 @@ private DuplexNamedPipeTransportConfig(string pipeName)
108108
/// <summary>
109109
/// Configuration for two simplex named pipes.
110110
/// </summary>
111-
public class SimplexNamedPipeTransportConfig : ITransportConfig
111+
public sealed class SimplexNamedPipeTransportConfig : ITransportConfig
112112
{
113113
private const string InPipePrefix = "in";
114114
private const string OutPipePrefix = "out";

Diff for: src/PowerShellEditorServices.VSCode/Cmdlets/VSCodeHtmlContentViewCommands.cs

+2-9
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using System.Management.Automation;
88
using Microsoft.Extensions.DependencyInjection;
99
using Microsoft.Extensions.Logging;
10-
using Microsoft.PowerShell.EditorServices.Services.PowerShellContext;
10+
using Microsoft.PowerShell.EditorServices.Extensions;
1111
using Microsoft.PowerShell.EditorServices.VSCode.CustomViews;
1212
using OmniSharp.Extensions.LanguageServer.Protocol.Server;
1313

@@ -20,8 +20,6 @@ public class NewVSCodeHtmlContentViewCommand : PSCmdlet
2020
{
2121
private HtmlContentViewsFeature _htmlContentViewsFeature;
2222

23-
private ILogger _logger;
24-
2523
private ViewColumn? _showInColumn;
2624

2725
///
@@ -44,13 +42,8 @@ protected override void BeginProcessing()
4442
{
4543
if (GetVariableValue("psEditor") is EditorObject psEditor)
4644
{
47-
_logger = psEditor.Components.GetService<ILoggerFactory>().CreateLogger("PowerShellEditorServices.VSCode");
48-
4945
_htmlContentViewsFeature = new HtmlContentViewsFeature(
50-
psEditor.Components.GetService<ILanguageServer>(),
51-
_logger);
52-
53-
_logger.LogInformation("PowerShell Editor Services VS Code module loaded.");
46+
psEditor.GetExtensionServiceProvider().LanguageServer);
5447
}
5548
else
5649
{

Diff for: src/PowerShellEditorServices.VSCode/CustomViews/CustomViewBase.cs

+6-11
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@
55

66
using System;
77
using System.Threading.Tasks;
8-
using Microsoft.Extensions.Logging;
9-
using OmniSharp.Extensions.LanguageServer.Protocol.Server;
8+
using Microsoft.PowerShell.EditorServices.Extensions.Services;
109

1110
namespace Microsoft.PowerShell.EditorServices.VSCode.CustomViews
1211
{
1312
internal abstract class CustomViewBase : ICustomView
1413
{
15-
protected ILanguageServer languageServer;
16-
17-
protected ILogger logger;
14+
protected ILanguageServerService languageServer;
1815

1916
public Guid Id { get; private set; }
2017

@@ -25,19 +22,17 @@ internal abstract class CustomViewBase : ICustomView
2522
public CustomViewBase(
2623
string viewTitle,
2724
CustomViewType viewType,
28-
ILanguageServer languageServer,
29-
ILogger logger)
25+
ILanguageServerService languageServer)
3026
{
3127
this.Id = Guid.NewGuid();
3228
this.Title = viewTitle;
3329
this.ViewType = viewType;
3430
this.languageServer = languageServer;
35-
this.logger = logger;
3631
}
3732

3833
internal async Task CreateAsync()
3934
{
40-
await languageServer.SendRequest(
35+
await languageServer.SendRequestAsync(
4136
NewCustomViewRequest.Method,
4237
new NewCustomViewRequest
4338
{
@@ -50,7 +45,7 @@ await languageServer.SendRequest(
5045

5146
public async Task Show(ViewColumn viewColumn)
5247
{
53-
await languageServer.SendRequest(
48+
await languageServer.SendRequestAsync(
5449
ShowCustomViewRequest.Method,
5550
new ShowCustomViewRequest
5651
{
@@ -62,7 +57,7 @@ await languageServer.SendRequest(
6257

6358
public async Task Close()
6459
{
65-
await languageServer.SendRequest(
60+
await languageServer.SendRequestAsync(
6661
CloseCustomViewRequest.Method,
6762
new CloseCustomViewRequest
6863
{

Diff for: src/PowerShellEditorServices.VSCode/CustomViews/CustomViewFeature.cs

+3-7
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,22 @@
55

66
using System;
77
using System.Collections.Generic;
8-
using Microsoft.Extensions.Logging;
9-
using OmniSharp.Extensions.LanguageServer.Protocol.Server;
8+
using Microsoft.PowerShell.EditorServices.Extensions.Services;
109

1110
namespace Microsoft.PowerShell.EditorServices.VSCode.CustomViews
1211
{
1312
internal abstract class CustomViewFeatureBase<TView>
1413
where TView : ICustomView
1514
{
16-
protected ILanguageServer languageServer;
15+
protected ILanguageServerService languageServer;
1716

18-
protected ILogger logger;
1917
private readonly Dictionary<Guid, TView> viewIndex;
2018

2119
public CustomViewFeatureBase(
22-
ILanguageServer languageServer,
23-
ILogger logger)
20+
ILanguageServerService languageServer)
2421
{
2522
this.viewIndex = new Dictionary<Guid, TView>();
2623
this.languageServer = languageServer;
27-
this.logger = logger;
2824
}
2925

3026
protected void AddView(TView view)

Diff for: src/PowerShellEditorServices.VSCode/CustomViews/HtmlContentView.cs

+6-9
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,25 @@
77
using System.IO;
88
using System.Linq;
99
using System.Threading.Tasks;
10-
using Microsoft.Extensions.Logging;
11-
using OmniSharp.Extensions.LanguageServer.Protocol.Server;
10+
using Microsoft.PowerShell.EditorServices.Extensions.Services;
1211

1312
namespace Microsoft.PowerShell.EditorServices.VSCode.CustomViews
1413
{
1514
internal class HtmlContentView : CustomViewBase, IHtmlContentView
1615
{
1716
public HtmlContentView(
1817
string viewTitle,
19-
ILanguageServer languageServer,
20-
ILogger logger)
18+
ILanguageServerService languageServer)
2119
: base(
2220
viewTitle,
2321
CustomViewType.HtmlContent,
24-
languageServer,
25-
logger)
22+
languageServer)
2623
{
2724
}
2825

2926
public async Task SetContentAsync(string htmlBodyContent)
3027
{
31-
await languageServer.SendRequest(
28+
await languageServer.SendRequestAsync(
3229
SetHtmlContentViewRequest.Method,
3330
new SetHtmlContentViewRequest
3431
{
@@ -48,7 +45,7 @@ public async Task SetContentAsync(HtmlContent htmlContent)
4845
StyleSheetPaths = this.GetUriPaths(htmlContent.StyleSheetPaths)
4946
};
5047

51-
await languageServer.SendRequest(
48+
await languageServer.SendRequestAsync(
5249
SetHtmlContentViewRequest.Method,
5350
new SetHtmlContentViewRequest
5451
{
@@ -60,7 +57,7 @@ await languageServer.SendRequest(
6057

6158
public async Task AppendContentAsync(string appendedHtmlBodyContent)
6259
{
63-
await languageServer.SendRequest(
60+
await languageServer.SendRequestAsync(
6461
AppendHtmlContentViewRequest.Method,
6562
new AppendHtmlContentViewRequest
6663
{

Diff for: src/PowerShellEditorServices.VSCode/CustomViews/HtmlContentViewsFeature.cs

+4-7
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@
44
//
55

66
using System.Threading.Tasks;
7-
using Microsoft.Extensions.Logging;
8-
using OmniSharp.Extensions.LanguageServer.Protocol.Server;
7+
using Microsoft.PowerShell.EditorServices.Extensions.Services;
98

109
namespace Microsoft.PowerShell.EditorServices.VSCode.CustomViews
1110
{
1211
internal class HtmlContentViewsFeature : CustomViewFeatureBase<IHtmlContentView>, IHtmlContentViews
1312
{
1413
public HtmlContentViewsFeature(
15-
ILanguageServer languageServer,
16-
ILogger logger)
17-
: base(languageServer, logger)
14+
ILanguageServerService languageServer)
15+
: base(languageServer)
1816
{
1917
}
2018

@@ -23,8 +21,7 @@ public async Task<IHtmlContentView> CreateHtmlContentViewAsync(string viewTitle)
2321
HtmlContentView htmlView =
2422
new HtmlContentView(
2523
viewTitle,
26-
this.languageServer,
27-
this.logger);
24+
languageServer);
2825

2926
await htmlView.CreateAsync();
3027
this.AddView(htmlView);

0 commit comments

Comments
 (0)