Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

## {{releaseVersion}} - {{releaseDate}}

### Added

- When editing .sourcekit-lsp/config.json use the JSON schema from the toolchain ([#1979](https://github.com/swiftlang/vscode-swift/pull/1979))

### Fixed

- Fix extension failing to find `lldb-dap` when `swift.path` points at an Xcode toolchain ([#1998](https://github.com/swiftlang/vscode-swift/pull/1998))
Expand Down
5 changes: 0 additions & 5 deletions src/WorkspaceContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import { CommentCompletionProviders } from "./editor/CommentCompletion";
import { SwiftLogger } from "./logging/SwiftLogger";
import { SwiftLoggerFactory } from "./logging/SwiftLoggerFactory";
import { LanguageClientToolchainCoordinator } from "./sourcekit-lsp/LanguageClientToolchainCoordinator";
import { SourcekitSchemaRegistry } from "./sourcekit-lsp/SourcekitSchemaRegistry";
import { DocCDocumentationRequest, ReIndexProjectRequest } from "./sourcekit-lsp/extensions";
import { SwiftPluginTaskProvider } from "./tasks/SwiftPluginTaskProvider";
import { SwiftTaskProvider } from "./tasks/SwiftTaskProvider";
Expand Down Expand Up @@ -63,7 +62,6 @@ export class WorkspaceContext implements vscode.Disposable {
public documentation: DocumentationManager;
public testRunManager: TestRunManager;
public projectPanel: ProjectPanelProvider;
private sourcekitSchemaRegistry: SourcekitSchemaRegistry;
private lastFocusUri: vscode.Uri | undefined;
private initialisationFinished = false;

Expand Down Expand Up @@ -110,7 +108,6 @@ export class WorkspaceContext implements vscode.Disposable {
this.currentDocument = null;
this.commentCompletionProvider = new CommentCompletionProviders();
this.projectPanel = new ProjectPanelProvider(this);
this.sourcekitSchemaRegistry = new SourcekitSchemaRegistry(this);

const onChangeConfig = vscode.workspace.onDidChangeConfiguration(async event => {
// Clear build path cache when build-related configurations change
Expand Down Expand Up @@ -235,7 +232,6 @@ export class WorkspaceContext implements vscode.Disposable {
this.statusItem,
this.buildStatus,
this.projectPanel,
this.sourcekitSchemaRegistry.register(),
];
this.lastFocusUri = vscode.window.activeTextEditor?.document.uri;

Expand All @@ -251,7 +247,6 @@ export class WorkspaceContext implements vscode.Disposable {
}

dispose() {
this.sourcekitSchemaRegistry.dispose();
this.folders.forEach(f => f.dispose());
this.folders.length = 0;
this.subscriptions.forEach(item => item.dispose());
Expand Down
32 changes: 2 additions & 30 deletions src/commands/generateSourcekitConfiguration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,10 @@ import { FolderContext } from "../FolderContext";
import { WorkspaceContext } from "../WorkspaceContext";
import configuration from "../configuration";
import { selectFolder } from "../ui/SelectFolderQuickPick";
import { fileExists } from "../utilities/filesystem";
import restartLSPServer from "./restartLSPServer";

const sourcekitDotFolder: string = ".sourcekit-lsp";
const sourcekitConfigFileName: string = "config.json";
export const sourcekitDotFolder: string = ".sourcekit-lsp";
export const sourcekitConfigFileName: string = "config.json";

export async function generateSourcekitConfiguration(ctx: WorkspaceContext): Promise<boolean> {
if (ctx.folders.length === 0) {
Expand Down Expand Up @@ -129,13 +128,6 @@ async function checkURLExists(url: string): Promise<boolean> {
}

export async function determineSchemaURL(folderContext: FolderContext): Promise<string> {
// Check if local schema exists first
if (await hasLocalSchema(folderContext)) {
const localPath = localSchemaPath(folderContext);
return vscode.Uri.file(localPath).toString();
}

// Fall back to remote URL for older toolchains
const version = folderContext.toolchain.swiftVersion;
const versionString = `${version.major}.${version.minor}`;
let branch =
Expand All @@ -146,26 +138,6 @@ export async function determineSchemaURL(folderContext: FolderContext): Promise<
return schemaURL(branch);
}

/**
* Returns the path to the local sourcekit-lsp schema file in the toolchain.
* This file only exists in newer toolchains (approximately Swift 6.3+).
*/
export function localSchemaPath(folderContext: FolderContext): string {
return join(
folderContext.toolchain.toolchainPath,
"share",
"sourcekit-lsp",
"config.schema.json"
);
}

/**
* Checks if the local schema file exists in the toolchain.
*/
export async function hasLocalSchema(folderContext: FolderContext): Promise<boolean> {
return await fileExists(localSchemaPath(folderContext));
}

async function getValidatedFolderContext(
uri: vscode.Uri,
workspaceContext: WorkspaceContext
Expand Down
91 changes: 0 additions & 91 deletions src/sourcekit-lsp/SourcekitSchemaRegistry.ts

This file was deleted.

Loading