From 49ebc84e229fad2ace697accf59c200be61cdbca Mon Sep 17 00:00:00 2001 From: rebornix Date: Mon, 17 Feb 2020 14:09:12 -0800 Subject: [PATCH] No latex handler in core. --- .../notebook-renderers/nteract/readme.md | 3 +- .../api/browser/mainThreadNotebook.ts | 10 ----- .../notebook/browser/notebook.contribution.ts | 2 +- .../notebook/browser/notebookActions.ts | 8 ++-- .../notebook/browser/notebookService.ts | 6 +-- .../notebook/browser/renderers/mdRenderer.ts | 38 +------------------ 6 files changed, 10 insertions(+), 57 deletions(-) diff --git a/extensions/notebook-renderers/nteract/readme.md b/extensions/notebook-renderers/nteract/readme.md index afd1e63477a..73efcefd07e 100644 --- a/extensions/notebook-renderers/nteract/readme.md +++ b/extensions/notebook-renderers/nteract/readme.md @@ -300,6 +300,8 @@ With above list - priority list - renders for custom mimetypes --> primitives + - *!* strongly typed output. Currently output is `any`, but we can define a fixed list of mimetypes which can be rendered in the core + - renders for primitives (initially provided by the core) @@ -307,7 +309,6 @@ With above list # MISC - preload resources types: (script, css, font?) -- strongly typed output. Currently output is `any`, but we can define a fixed list of mimetypes which can be rendered in the core - kernel adapter -- local/remote runtime - perf - forced reflow in `CodeEditorWidget.ContentWidget` https://github.com/microsoft/vscode/blob/20f4cbf4b6e585a15751effe59ab40e180d11b43/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts#L437-L441 diff --git a/src/vs/workbench/api/browser/mainThreadNotebook.ts b/src/vs/workbench/api/browser/mainThreadNotebook.ts index 171535340ea..e552969394e 100644 --- a/src/vs/workbench/api/browser/mainThreadNotebook.ts +++ b/src/vs/workbench/api/browser/mainThreadNotebook.ts @@ -312,12 +312,6 @@ export class MainThreadNotebookController implements IMainNotebookController { document?.updateCells(cells); } - updateNotebookCell(resource: UriComponents, cell: ICell, renderers: number[]): void { - let document = this._mapping.get(URI.from(resource).toString()); - document?.updateRenderers(renderers); - document?.updateCell(cell); - } - updateNotebookRenderers(resource: UriComponents, renderers: number[]): void { let document = this._mapping.get(URI.from(resource).toString()); document?.updateRenderers(renderers); @@ -351,10 +345,6 @@ export class MainThreadNotebookController implements IMainNotebookController { } } - // async latexRenderer(value: string): Promise { - // return this._proxy.$latexRenderer(this._viewType, value); - // } - async destoryNotebookDocument(notebook: INotebook): Promise { let document = this._mapping.get(URI.from(notebook.uri).toString()); diff --git a/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts b/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts index ca52d3383aa..dc49e21ba2b 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts @@ -68,7 +68,7 @@ export class NotebookContribution implements IWorkbenchContribution { let viewType: string | undefined = undefined; if (resource) { - let notebookProviders = this.notebookService.getContributedNotebook(resource!); + let notebookProviders = this.notebookService.getContributedNotebookProviders(resource!); if (notebookProviders.length > 0) { viewType = notebookProviders[0].id; diff --git a/src/vs/workbench/contrib/notebook/browser/notebookActions.ts b/src/vs/workbench/contrib/notebook/browser/notebookActions.ts index 817148fae2c..9d3882cfd1c 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookActions.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebookActions.ts @@ -36,7 +36,7 @@ export class ExecuteNotebookCellAction extends Action { let resource = this.editorService.activeEditor?.getResource(); if (resource) { - let notebookProviders = this.notebookService.getContributedNotebook(resource!); + let notebookProviders = this.notebookService.getContributedNotebookProviders(resource!); if (notebookProviders.length > 0) { let viewType = notebookProviders[0].id; @@ -64,7 +64,7 @@ export class ExecuteNotebookAction extends Action { let resource = this.editorService.activeEditor?.getResource(); if (resource) { - let notebookProviders = this.notebookService.getContributedNotebook(resource!); + let notebookProviders = this.notebookService.getContributedNotebookProviders(resource!); if (notebookProviders.length > 0) { let viewType = notebookProviders[0].id; @@ -95,7 +95,7 @@ export class QuitNotebookEditAction extends Action { let editorControl = this.editorService.activeControl; if (resource && editorControl) { - let notebookProviders = this.notebookService.getContributedNotebook(resource!); + let notebookProviders = this.notebookService.getContributedNotebookProviders(resource!); if (notebookProviders.length > 0) { let editorViewType = (editorControl! as NotebookEditor).viewType; @@ -132,7 +132,7 @@ export class EditNotebookCellAction extends Action { let editorControl = this.editorService.activeControl; if (resource && editorControl) { - let notebookProviders = this.notebookService.getContributedNotebook(resource!); + let notebookProviders = this.notebookService.getContributedNotebookProviders(resource!); if (notebookProviders.length > 0) { let editorViewType = (editorControl! as NotebookEditor).viewType; diff --git a/src/vs/workbench/contrib/notebook/browser/notebookService.ts b/src/vs/workbench/contrib/notebook/browser/notebookService.ts index 2d346a66dc5..f0a41e0fe03 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookService.ts +++ b/src/vs/workbench/contrib/notebook/browser/notebookService.ts @@ -51,7 +51,6 @@ export interface IMainNotebookController { deleteCell(uri: URI, index: number): Promise executeNotebookActiveCell(uri: URI): void; destoryNotebookDocument(notebook: INotebook): Promise; - // latexRenderer(value: string): Promise; } export interface INotebookService { @@ -65,14 +64,13 @@ export interface INotebookService { resolveNotebook(viewType: string, uri: URI): Promise; executeNotebook(viewType: string, uri: URI): Promise; executeNotebookActiveCell(viewType: string, uri: URI): Promise; - getContributedNotebook(resource: URI): readonly NotebookProviderInfo[]; + getContributedNotebookProviders(resource: URI): readonly NotebookProviderInfo[]; getNotebookProviderResourceRoots(): URI[]; updateNotebookActiveCell(viewType: string, resource: URI, cellHandle: number): void; createNotebookCell(viewType: string, resource: URI, index: number, language: string, type: 'markdown' | 'code'): Promise; deleteNotebookCell(viewType: string, resource: URI, index: number): Promise; destoryNotebookDocument(viewType: string, notebook: INotebook): void; updateActiveNotebookDocument(viewType: string, resource: URI): void; - // latexRenderer(viewType: string, value: string): Promise; } export class NotebookInfoStore { @@ -233,7 +231,7 @@ export class NotebookService extends Disposable implements INotebookService { } } - getContributedNotebook(resource: URI): readonly NotebookProviderInfo[] { + getContributedNotebookProviders(resource: URI): readonly NotebookProviderInfo[] { return this.notebookProviderInfoStore.getContributedNotebook(resource); } diff --git a/src/vs/workbench/contrib/notebook/browser/renderers/mdRenderer.ts b/src/vs/workbench/contrib/notebook/browser/renderers/mdRenderer.ts index 19eeaa8d166..cbbda252d1a 100644 --- a/src/vs/workbench/contrib/notebook/browser/renderers/mdRenderer.ts +++ b/src/vs/workbench/contrib/notebook/browser/renderers/mdRenderer.ts @@ -12,9 +12,6 @@ import { tokenizeToString } from 'vs/editor/common/modes/textToHtmlTokenizer'; import { Event, Emitter } from 'vs/base/common/event'; import { IDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle'; import { TokenizationRegistry } from 'vs/editor/common/modes'; -import { INotebookService } from 'vs/workbench/contrib/notebook/browser/notebookService'; -import * as colorRegistry from 'vs/platform/theme/common/colorRegistry'; -import { IThemeService } from 'vs/platform/theme/common/themeService'; export interface IMarkdownRenderResult extends IDisposable { element: HTMLElement; @@ -25,29 +22,12 @@ export class MarkdownRenderer extends Disposable { private _onDidUpdateRender = this._register(new Emitter()); readonly onDidUpdateRender: Event = this._onDidUpdateRender.event; - private _styles: { [key: string]: string; }; - private _latexCache: { [key: string]: string }; - constructor( private readonly viewType: string, @IModeService private readonly _modeService: IModeService, - @IOpenerService private readonly _openerService: IOpenerService, - @INotebookService private readonly _notebookService: INotebookService, - @IThemeService private readonly _themeService: IThemeService, + @IOpenerService private readonly _openerService: IOpenerService ) { super(); - - let theme = this._themeService.getTheme(); - - this._styles = colorRegistry.getColorRegistry().getColors().reduce((colors, entry) => { - const color = theme.getColor(entry.id); - if (color) { - colors['vscode-' + entry.id.replace('.', '-')] = color.toString(); - } - return colors; - }, {} as { [key: string]: string; }); - - this._latexCache = {}; } private getOptions(disposeables: DisposableStore): MarkdownRenderOptions { @@ -71,22 +51,6 @@ export class MarkdownRenderer extends Disposable { }); }, codeBlockRenderCallback: () => this._onDidUpdateRender.fire(), - latexRenderer: async (value) => { - if (this._latexCache[value]) { - return { html: this._latexCache[value], styles: this._styles }; - } - - let res = await this._notebookService.latexRenderer(this.viewType, value); - - if (res) { - let innerHTML = renderMarkdown(res, {}, { gfm: true }).innerHTML; - this._latexCache[value] = innerHTML; - return { html: innerHTML, styles: this._styles }; - } else { - return { html: `${value}` }; - } - }, - latexRendererCallback: () => this._onDidUpdateRender.fire(), actionHandler: { callback: (content) => { this._openerService.open(content, { fromUserGesture: true }).catch(onUnexpectedError); -- GitLab