Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 10x 10x 6x 6x 5x 10x 3x 1x 1x 1x | import * as vscode from 'vscode';
import { PreviewCodeLensProvider } from './codeLensProvider';
import { VibeCustomTextEditorProvider } from './customTextEditorProvider';
import { CUSTOM_EDITOR_VIEW_TYPES, getCustomEditorViewType } from './editorTypes';
export function activate(context: vscode.ExtensionContext) {
const provider = new VibeCustomTextEditorProvider(context);
const openWithVibeEditor = (uri: vscode.Uri | undefined, column: vscode.ViewColumn) => {
const targetUri = uri ?? vscode.window.activeTextEditor?.document.uri;
if (!targetUri) return;
return vscode.commands.executeCommand(
'vscode.openWith',
targetUri,
getCustomEditorViewType(targetUri.fsPath),
{ viewColumn: column }
);
};
context.subscriptions.push(
vscode.window.registerCustomEditorProvider(
CUSTOM_EDITOR_VIEW_TYPES.markdown,
provider,
{ webviewOptions: { retainContextWhenHidden: true }, supportsMultipleEditorsPerDocument: true }
),
vscode.window.registerCustomEditorProvider(
CUSTOM_EDITOR_VIEW_TYPES.csv,
provider,
{ webviewOptions: { retainContextWhenHidden: true }, supportsMultipleEditorsPerDocument: true }
),
vscode.window.registerCustomEditorProvider(
CUSTOM_EDITOR_VIEW_TYPES.excalidraw,
provider,
{ webviewOptions: { retainContextWhenHidden: true }, supportsMultipleEditorsPerDocument: true }
),
vscode.languages.registerCodeLensProvider(
{ language: 'markdown' },
new PreviewCodeLensProvider('markdown')
),
vscode.languages.registerCodeLensProvider(
{ pattern: '**/*.excalidraw' },
new PreviewCodeLensProvider('excalidraw')
),
vscode.languages.registerCodeLensProvider(
{ pattern: '**/*.csv' },
new PreviewCodeLensProvider('csv')
),
vscode.commands.registerCommand('vibeDocuments.showPreview', (uri?: vscode.Uri) => {
return openWithVibeEditor(uri, vscode.ViewColumn.Active);
}),
vscode.commands.registerCommand('vibeDocuments.showPreviewToSide', (uri?: vscode.Uri) => {
return openWithVibeEditor(uri, vscode.ViewColumn.Beside);
}),
vscode.commands.registerCommand('vibeDocuments.showExcalidrawPreview', (uri?: vscode.Uri) => {
return openWithVibeEditor(uri, vscode.ViewColumn.Active);
}),
vscode.commands.registerCommand('vibeDocuments.showCsvPreview', (uri?: vscode.Uri) => {
return openWithVibeEditor(uri, vscode.ViewColumn.Active);
}),
vscode.commands.registerCommand('vibeDocuments.toggleMode', () => {
provider.toggleMode();
})
);
}
export function deactivate() {}
|