ryu1kn/vscode-partial-diff

View on GitHub
src/lib/adaptors/workspace.ts

Summary

Maintainability
A
0 mins
Test Coverage
B
83%
import {EXTENSION_ID} from '../const';
import * as vscode from 'vscode';
import ContentProvider from '../content-provider';

export default class WorkspaceAdaptor {
    constructor(private readonly workspace: typeof vscode.workspace) {}

    get<T>(configName: string): T {
        const extensionConfig = this.workspace.getConfiguration(EXTENSION_ID);
        return extensionConfig.get(configName) as T;
    }

    registerTextDocumentContentProvider(EXTENSION_SCHEME: string, contentProvider: ContentProvider): vscode.Disposable {
        return this.workspace.registerTextDocumentContentProvider(EXTENSION_SCHEME, contentProvider);
    }
}