Skip to content

Commit 5f1253e

Browse files
Fix unicode character uri bug (#1143)
* Handle Uris better for unicode characters * delete commented out code * rob's nit
1 parent edcfd75 commit 5f1253e

20 files changed

+139
-110
lines changed

src/PowerShellEditorServices/PowerShellEditorServices.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
3131
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="3.1.0" />
3232
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.0" />
33-
<PackageReference Include="OmniSharp.Extensions.LanguageServer" Version="0.14.0" />
33+
<PackageReference Include="OmniSharp.Extensions.LanguageServer" Version="0.14.1" />
3434
<PackageReference Include="PowerShellStandard.Library" Version="5.1.1" />
3535
<PackageReference Include="Serilog" Version="2.9.0" />
3636
<PackageReference Include="Serilog.Extensions.Logging" Version="3.0.1" />
@@ -40,6 +40,6 @@
4040
<PackageReference Include="System.Security.Principal" Version="4.3.0" />
4141
<PackageReference Include="System.Security.Principal.Windows" Version="4.7.0" />
4242
<PackageReference Include="UnixConsoleEcho" Version="0.1.0" />
43-
<PackageReference Include="OmniSharp.Extensions.DebugAdapter.Server" Version="0.14.0" />
43+
<PackageReference Include="OmniSharp.Extensions.DebugAdapter.Server" Version="0.14.1" />
4444
</ItemGroup>
4545
</Project>

src/PowerShellEditorServices/Server/PsesLanguageServer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public async Task StartAsync()
101101
// Grab the workspace path from the parameters
102102
if (request.RootUri != null)
103103
{
104-
workspaceService.WorkspacePath = workspaceService.ResolveFilePath(request.RootUri.ToString());
104+
workspaceService.WorkspacePath = workspaceService.ResolveFileUri(request.RootUri).OriginalString;
105105
}
106106

107107
// Set the working directory of the PowerShell session to the workspace path

src/PowerShellEditorServices/Services/PowerShellContext/EditorOperationsService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public async Task SetSelectionAsync(BufferRange selectionRange)
8585
public EditorContext ConvertClientEditorContext(
8686
ClientEditorContext clientContext)
8787
{
88-
ScriptFile scriptFile = _workspaceService.CreateScriptFileFromFileBuffer(
88+
ScriptFile scriptFile = _workspaceService.GetFileBuffer(
8989
clientContext.CurrentFilePath,
9090
clientContext.CurrentFileContent);
9191

src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void SetCapability(CodeActionCapability capability)
5555

5656
public async Task<CommandOrCodeActionContainer> Handle(CodeActionParams request, CancellationToken cancellationToken)
5757
{
58-
IReadOnlyDictionary<string, MarkerCorrection> corrections = await _analysisService.GetMostRecentCodeActionsForFileAsync(request.TextDocument.Uri.ToString());
58+
IReadOnlyDictionary<string, MarkerCorrection> corrections = await _analysisService.GetMostRecentCodeActionsForFileAsync(request.TextDocument.Uri.OriginalString);
5959

6060
if (corrections == null)
6161
{

src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeLensHandlers.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ CodeLensRegistrationOptions IRegistration<CodeLensRegistrationOptions>.GetRegist
6161

6262
public Task<CodeLensContainer> Handle(CodeLensParams request, CancellationToken cancellationToken)
6363
{
64-
ScriptFile scriptFile = _workspaceService.GetFile(
65-
request.TextDocument.Uri.ToString());
64+
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
6665

6766
CodeLens[] codeLensResults = ProvideCodeLenses(scriptFile);
6867

src/PowerShellEditorServices/Services/TextDocument/Handlers/CompletionHandler.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ public async Task<CompletionList> Handle(CompletionParams request, CancellationT
6565
int cursorLine = (int) request.Position.Line + 1;
6666
int cursorColumn = (int) request.Position.Character + 1;
6767

68-
ScriptFile scriptFile =
69-
_workspaceService.GetFile(
70-
request.TextDocument.Uri.ToString());
68+
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
7169

7270
CompletionResults completionResults =
7371
await GetCompletionsInFileAsync(

src/PowerShellEditorServices/Services/TextDocument/Handlers/DefinitionHandler.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ public TextDocumentRegistrationOptions GetRegistrationOptions()
5252

5353
public async Task<LocationOrLocationLinks> Handle(DefinitionParams request, CancellationToken cancellationToken)
5454
{
55-
ScriptFile scriptFile =
56-
_workspaceService.GetFile(
57-
request.TextDocument.Uri.ToString());
55+
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
5856

5957
SymbolReference foundSymbol =
6058
_symbolsService.FindSymbolAtLocation(

src/PowerShellEditorServices/Services/TextDocument/Handlers/DocumentHighlightHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public Task<DocumentHighlightContainer> Handle(
5656
DocumentHighlightParams request,
5757
CancellationToken cancellationToken)
5858
{
59-
ScriptFile scriptFile = _workspaceService.GetFile(PathUtils.FromUri(request.TextDocument.Uri));
59+
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
6060

6161
IReadOnlyList<SymbolReference> symbolOccurrences = _symbolsService.FindOccurrencesInFile(
6262
scriptFile,

src/PowerShellEditorServices/Services/TextDocument/Handlers/DocumentSymbolHandler.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,7 @@ public TextDocumentRegistrationOptions GetRegistrationOptions()
6060

6161
public Task<SymbolInformationOrDocumentSymbolContainer> Handle(DocumentSymbolParams request, CancellationToken cancellationToken)
6262
{
63-
ScriptFile scriptFile =
64-
_workspaceService.GetFile(
65-
request.TextDocument.Uri.ToString());
63+
ScriptFile scriptFile = _workspaceService.GetFile(request.TextDocument.Uri);
6664

6765
IEnumerable<SymbolReference> foundSymbols =
6866
this.ProvideDocumentSymbols(scriptFile);

src/PowerShellEditorServices/Services/TextDocument/Handlers/FoldingRangeHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public Task<Container<FoldingRange>> Handle(FoldingRangeRequestParam request, Ca
5454
// Perhaps a better option would be to parse the contents of the document as a string
5555
// as opposed to reading a file but the scenario of "no backing file" probably doesn't
5656
// warrant the extra effort.
57-
if (!_workspaceService.TryGetFile(request.TextDocument.Uri.ToString(), out ScriptFile scriptFile)) { return null; }
57+
if (!_workspaceService.TryGetFile(request.TextDocument.Uri, out ScriptFile scriptFile)) { return null; }
5858

5959
var result = new List<FoldingRange>();
6060

0 commit comments

Comments
 (0)