From e66e0653df3170a16b0421d4e91260040732bf27 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Fri, 13 Dec 2024 17:21:11 +0100 Subject: [PATCH] Only change scheme of `.swiftinterface` files to `readonly` if old scheme was `file` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’m working on adding semantic functionality to generated interfaces in SourceKit-LSP and this will generate reference documents with a `sourcekit-lsp:` scheme and a `.swiftinterface` file. We shouldn’t change those URIs to a `readonly` scheme. --- src/sourcekit-lsp/LanguageClientManager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sourcekit-lsp/LanguageClientManager.ts b/src/sourcekit-lsp/LanguageClientManager.ts index 98701c0eb..9cdb5dc80 100644 --- a/src/sourcekit-lsp/LanguageClientManager.ts +++ b/src/sourcekit-lsp/LanguageClientManager.ts @@ -518,7 +518,8 @@ export class LanguageClientManager { const definitions = result as vscode.Location[]; if ( definitions && - path.extname(definitions[0].uri.path) === ".swiftinterface" + path.extname(definitions[0].uri.path) === ".swiftinterface" && + definitions[0].uri.scheme === "file" ) { const uri = definitions[0].uri.with({ scheme: "readonly" }); return new vscode.Location(uri, definitions[0].range);