mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-21 01:25:37 -05:00
* Fix initial build breaks from 1.67 merge (#2514) * Update yarn lock files * Update build scripts * Fix tsconfig * Build breaks * WIP * Update yarn lock files * Misc breaks * Updates to package.json * Breaks * Update yarn * Fix breaks * Breaks * Build breaks * Breaks * Breaks * Breaks * Breaks * Breaks * Missing file * Breaks * Breaks * Breaks * Breaks * Breaks * Fix several runtime breaks (#2515) * Missing files * Runtime breaks * Fix proxy ordering issue * Remove commented code * Fix breaks with opening query editor * Fix post merge break * Updates related to setup build and other breaks (#2516) * Fix bundle build issues * Update distro * Fix distro merge and update build JS files * Disable pipeline steps * Remove stats call * Update license name * Make new RPM dependencies a warning * Fix extension manager version checks * Update JS file * Fix a few runtime breaks * Fixes * Fix runtime issues * Fix build breaks * Update notebook tests (part 1) * Fix broken tests * Linting errors * Fix hygiene * Disable lint rules * Bump distro * Turn off smoke tests * Disable integration tests * Remove failing "activate" test * Remove failed test assertion * Disable other broken test * Disable query history tests * Disable extension unit tests * Disable failing tasks
107 lines
5.9 KiB
TypeScript
107 lines
5.9 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 { CommandManager } from './commandManager';
|
|
import * as commands from './commands/index';
|
|
import { register as registerDiagnostics } from './languageFeatures/diagnostics';
|
|
import { MdDefinitionProvider } from './languageFeatures/definitionProvider';
|
|
import { MdLinkProvider } from './languageFeatures/documentLinkProvider';
|
|
import { MdDocumentSymbolProvider } from './languageFeatures/documentSymbolProvider';
|
|
import { registerDropIntoEditor } from './languageFeatures/dropIntoEditor';
|
|
import { registerFindFileReferences } from './languageFeatures/fileReferences';
|
|
import { MdFoldingProvider } from './languageFeatures/foldingProvider';
|
|
import { MdPathCompletionProvider } from './languageFeatures/pathCompletions';
|
|
import { MdReferencesProvider } from './languageFeatures/references';
|
|
import { MdRenameProvider } from './languageFeatures/rename';
|
|
import { MdSmartSelect } from './languageFeatures/smartSelect';
|
|
import { MdWorkspaceSymbolProvider } from './languageFeatures/workspaceSymbolProvider';
|
|
import { Logger } from './logger';
|
|
import { MarkdownEngine } from './markdownEngine';
|
|
import { getMarkdownExtensionContributions } from './markdownExtensions';
|
|
import { MarkdownContentProvider } from './preview/previewContentProvider';
|
|
import { MarkdownPreviewManager } from './preview/previewManager';
|
|
import { ContentSecurityPolicyArbiter, ExtensionContentSecurityPolicyArbiter, PreviewSecuritySelector } from './preview/security';
|
|
import { githubSlugifier } from './slugify';
|
|
import { loadDefaultTelemetryReporter, TelemetryReporter } from './telemetryReporter';
|
|
import { VsCodeMdWorkspaceContents } from './workspaceContents';
|
|
|
|
|
|
export function activate(context: vscode.ExtensionContext) {
|
|
const telemetryReporter = loadDefaultTelemetryReporter();
|
|
context.subscriptions.push(telemetryReporter);
|
|
|
|
const contributions = getMarkdownExtensionContributions(context);
|
|
context.subscriptions.push(contributions);
|
|
|
|
const cspArbiter = new ExtensionContentSecurityPolicyArbiter(context.globalState, context.workspaceState);
|
|
const engine = new MarkdownEngine(contributions, githubSlugifier);
|
|
const logger = new Logger();
|
|
const commandManager = new CommandManager();
|
|
|
|
const contentProvider = new MarkdownContentProvider(engine, context, cspArbiter, contributions, logger);
|
|
const symbolProvider = new MdDocumentSymbolProvider(engine);
|
|
const previewManager = new MarkdownPreviewManager(contentProvider, logger, contributions, engine);
|
|
context.subscriptions.push(previewManager);
|
|
|
|
context.subscriptions.push(registerMarkdownLanguageFeatures(commandManager, symbolProvider, engine));
|
|
context.subscriptions.push(registerMarkdownCommands(commandManager, previewManager, telemetryReporter, cspArbiter, engine));
|
|
|
|
context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(() => {
|
|
logger.updateConfiguration();
|
|
previewManager.updateConfiguration();
|
|
}));
|
|
}
|
|
|
|
function registerMarkdownLanguageFeatures(
|
|
commandManager: CommandManager,
|
|
symbolProvider: MdDocumentSymbolProvider,
|
|
engine: MarkdownEngine
|
|
): vscode.Disposable {
|
|
const selector: vscode.DocumentSelector = { language: 'markdown', scheme: '*' };
|
|
|
|
const linkProvider = new MdLinkProvider(engine);
|
|
const workspaceContents = new VsCodeMdWorkspaceContents();
|
|
|
|
const referencesProvider = new MdReferencesProvider(linkProvider, workspaceContents, engine, githubSlugifier);
|
|
return vscode.Disposable.from(
|
|
vscode.languages.registerDocumentSymbolProvider(selector, symbolProvider),
|
|
vscode.languages.registerDocumentLinkProvider(selector, linkProvider),
|
|
vscode.languages.registerFoldingRangeProvider(selector, new MdFoldingProvider(engine)),
|
|
vscode.languages.registerSelectionRangeProvider(selector, new MdSmartSelect(engine)),
|
|
vscode.languages.registerWorkspaceSymbolProvider(new MdWorkspaceSymbolProvider(symbolProvider, workspaceContents)),
|
|
vscode.languages.registerReferenceProvider(selector, referencesProvider),
|
|
vscode.languages.registerRenameProvider(selector, new MdRenameProvider(referencesProvider, workspaceContents, githubSlugifier)),
|
|
vscode.languages.registerDefinitionProvider(selector, new MdDefinitionProvider(referencesProvider)),
|
|
MdPathCompletionProvider.register(selector, engine, linkProvider),
|
|
registerDiagnostics(engine, workspaceContents, linkProvider),
|
|
registerDropIntoEditor(selector),
|
|
registerFindFileReferences(commandManager, referencesProvider),
|
|
);
|
|
}
|
|
|
|
function registerMarkdownCommands(
|
|
commandManager: CommandManager,
|
|
previewManager: MarkdownPreviewManager,
|
|
telemetryReporter: TelemetryReporter,
|
|
cspArbiter: ContentSecurityPolicyArbiter,
|
|
engine: MarkdownEngine
|
|
): vscode.Disposable {
|
|
const previewSecuritySelector = new PreviewSecuritySelector(cspArbiter, previewManager);
|
|
|
|
commandManager.register(new commands.ShowPreviewCommand(previewManager, telemetryReporter));
|
|
commandManager.register(new commands.ShowPreviewToSideCommand(previewManager, telemetryReporter));
|
|
commandManager.register(new commands.ShowLockedPreviewToSideCommand(previewManager, telemetryReporter));
|
|
commandManager.register(new commands.ShowSourceCommand(previewManager));
|
|
commandManager.register(new commands.RefreshPreviewCommand(previewManager, engine));
|
|
commandManager.register(new commands.MoveCursorToPositionCommand());
|
|
commandManager.register(new commands.ShowPreviewSecuritySelectorCommand(previewSecuritySelector, previewManager));
|
|
commandManager.register(new commands.OpenDocumentLinkCommand(engine));
|
|
commandManager.register(new commands.ToggleLockCommand(previewManager));
|
|
commandManager.register(new commands.RenderDocument(engine));
|
|
commandManager.register(new commands.ReloadPlugins(previewManager, engine));
|
|
return commandManager;
|
|
}
|