mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-25 09:35:37 -05:00
32 lines
1.7 KiB
TypeScript
32 lines
1.7 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as vscode from 'vscode';
|
|
import { NotebookUtils } from './notebookUtils';
|
|
import { BookTreeViewProvider } from '../book/bookTreeView';
|
|
import { NavigationProviders, BOOKS_VIEWID, PROVIDED_BOOKS_VIEWID, PINNED_BOOKS_VIEWID, extensionOutputChannelName } from './constants';
|
|
|
|
/**
|
|
* Global context for the application
|
|
*/
|
|
export class AppContext {
|
|
|
|
public readonly notebookUtils: NotebookUtils;
|
|
public readonly bookTreeViewProvider: BookTreeViewProvider;
|
|
public readonly providedBookTreeViewProvider: BookTreeViewProvider;
|
|
public readonly pinnedBookTreeViewProvider: BookTreeViewProvider;
|
|
public readonly outputChannel: vscode.OutputChannel;
|
|
|
|
constructor(public readonly extensionContext: vscode.ExtensionContext) {
|
|
this.notebookUtils = new NotebookUtils();
|
|
|
|
let workspaceFolders = vscode.workspace.workspaceFolders?.slice() ?? [];
|
|
this.bookTreeViewProvider = new BookTreeViewProvider(workspaceFolders, extensionContext, false, BOOKS_VIEWID, NavigationProviders.NotebooksNavigator);
|
|
this.providedBookTreeViewProvider = new BookTreeViewProvider([], extensionContext, true, PROVIDED_BOOKS_VIEWID, NavigationProviders.ProvidedBooksNavigator);
|
|
this.pinnedBookTreeViewProvider = new BookTreeViewProvider([], extensionContext, false, PINNED_BOOKS_VIEWID, NavigationProviders.PinnedNotebooksNavigator);
|
|
this.outputChannel = vscode.window.createOutputChannel(extensionOutputChannelName);
|
|
}
|
|
}
|