Skip to content

Commit 14bb403

Browse files
committed
Allow VS Code to recognise files with "sourcekit-lsp" scheme and pass it to SourceKitLSP inorder to provide Semantic Functionality
1 parent a596d31 commit 14bb403

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

src/WorkspaceContext.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,10 @@ export class WorkspaceContext implements vscode.Disposable {
522522
async focusUri(uri?: vscode.Uri) {
523523
this.currentDocument = uri ?? null;
524524
this.updateContextKeysForFile();
525-
if (this.currentDocument?.scheme === "file") {
525+
if (
526+
this.currentDocument?.scheme === "file" ||
527+
this.currentDocument?.scheme === "sourcekit-lsp"
528+
) {
526529
await this.focusPackageUri(this.currentDocument);
527530
}
528531
}

src/sourcekit-lsp/LanguageClientManager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export class LanguageClientManager {
4343

4444
// document selector used by language client
4545
static appleLangDocumentSelector = [
46+
{ scheme: "sourcekit-lsp", language: "swift" },
4647
{ scheme: "file", language: "swift" },
4748
{ scheme: "untitled", language: "swift" },
4849
{ scheme: "file", language: "objective-c" },

src/sourcekit-lsp/getReferenceDocument.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function activateGetReferenceDocument(client: langclient.LanguageClient):
2222
{
2323
provideTextDocumentContent: async (uri, token) => {
2424
const params: GetReferenceDocumentParams = {
25-
uri: uri.toString(true),
25+
uri: uri.toString(),
2626
};
2727

2828
const result = await client.sendRequest(GetReferenceDocumentRequest, params, token);

src/sourcekit-lsp/peekDocuments.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ export function activatePeekDocuments(client: langclient.LanguageClient): vscode
3232

3333
await vscode.commands.executeCommand(
3434
"editor.action.peekLocations",
35-
vscode.Uri.from({
36-
scheme: "file",
37-
path: new URL(params.uri).pathname,
38-
}),
35+
vscode.Uri.parse(new URL(params.uri).href, true),
3936
new vscode.Position(params.position.line, params.position.character),
4037
locations,
4138
"peek"

0 commit comments

Comments
 (0)