33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55
6- import * as vscode from 'vscode' ;
76import * as path from 'path' ;
8-
7+ import * as vscode from 'vscode' ;
8+ import * as nls from 'vscode-nls' ;
9+ import { OpenDocumentLinkCommand , resolveLinkToMarkdownFile } from '../commands/openDocumentLink' ;
910import { Logger } from '../logger' ;
10- import { MarkdownContentProvider } from './previewContentProvider ' ;
11+ import { MarkdownContributionProvider } from '../markdownExtensions ' ;
1112import { Disposable } from '../util/dispose' ;
12-
13- import * as nls from 'vscode-nls ' ;
13+ import { isMarkdownFile } from '../util/file' ;
14+ import { normalizeResource , WebviewResourceProvider } from '../util/resources ' ;
1415import { getVisibleLine , TopmostLineMonitor } from '../util/topmostLineMonitor' ;
1516import { MarkdownPreviewConfigurationManager } from './previewConfig' ;
16- import { MarkdownContributionProvider } from '../markdownExtensions' ;
17- import { isMarkdownFile } from '../util/file' ;
18- import { resolveLinkToMarkdownFile } from '../commands/openDocumentLink' ;
19- import { WebviewResourceProvider , normalizeResource } from '../util/resources' ;
17+ import { MarkdownContentProvider } from './previewContentProvider' ;
18+ import { MarkdownEngine } from '../markdownEngine' ;
19+
2020const localize = nls . loadMessageBundle ( ) ;
2121
2222interface WebviewMessage {
@@ -123,6 +123,7 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider {
123123 resource : vscode . Uri ,
124124 startingScroll : StartingScrollLocation | undefined ,
125125 private readonly delegate : MarkdownPreviewDelegate ,
126+ private readonly engine : MarkdownEngine ,
126127 private readonly _contentProvider : MarkdownContentProvider ,
127128 private readonly _previewConfigurations : MarkdownPreviewConfigurationManager ,
128129 private readonly _logger : Logger ,
@@ -407,7 +408,7 @@ class MarkdownPreview extends Disposable implements WebviewResourceProvider {
407408 }
408409 }
409410
410- vscode . commands . executeCommand ( '_markdown.openDocumentLink' , { path : hrefPath , fragment, fromResource : this . resource } ) ;
411+ OpenDocumentLinkCommand . execute ( this . engine , { path : hrefPath , fragment, fromResource : this . resource . toJSON ( ) } ) ;
411412 }
412413
413414 //#region WebviewResourceProvider
@@ -452,8 +453,9 @@ export class StaticMarkdownPreview extends Disposable implements ManagedMarkdown
452453 previewConfigurations : MarkdownPreviewConfigurationManager ,
453454 logger : Logger ,
454455 contributionProvider : MarkdownContributionProvider ,
456+ engine : MarkdownEngine ,
455457 ) : StaticMarkdownPreview {
456- return new StaticMarkdownPreview ( webview , resource , contentProvider , previewConfigurations , logger , contributionProvider ) ;
458+ return new StaticMarkdownPreview ( webview , resource , contentProvider , previewConfigurations , logger , contributionProvider , engine ) ;
457459 }
458460
459461 private readonly preview : MarkdownPreview ;
@@ -465,13 +467,14 @@ export class StaticMarkdownPreview extends Disposable implements ManagedMarkdown
465467 private readonly _previewConfigurations : MarkdownPreviewConfigurationManager ,
466468 logger : Logger ,
467469 contributionProvider : MarkdownContributionProvider ,
470+ engine : MarkdownEngine ,
468471 ) {
469472 super ( ) ;
470473
471474 this . preview = this . _register ( new MarkdownPreview ( this . _webviewPanel , resource , undefined , {
472475 getAdditionalState : ( ) => { return { } ; } ,
473476 openPreviewLinkToMarkdownFile : ( ) => { /* todo */ }
474- } , contentProvider , _previewConfigurations , logger , contributionProvider ) ) ;
477+ } , engine , contentProvider , _previewConfigurations , logger , contributionProvider ) ) ;
475478
476479 this . _register ( this . _webviewPanel . onDidDispose ( ( ) => {
477480 this . dispose ( ) ;
@@ -548,9 +551,10 @@ export class DynamicMarkdownPreview extends Disposable implements ManagedMarkdow
548551 logger : Logger ,
549552 topmostLineMonitor : TopmostLineMonitor ,
550553 contributionProvider : MarkdownContributionProvider ,
554+ engine : MarkdownEngine ,
551555 ) : DynamicMarkdownPreview {
552556 return new DynamicMarkdownPreview ( webview , input ,
553- contentProvider , previewConfigurations , logger , topmostLineMonitor , contributionProvider ) ;
557+ contentProvider , previewConfigurations , logger , topmostLineMonitor , contributionProvider , engine ) ;
554558 }
555559
556560 public static create (
@@ -560,15 +564,16 @@ export class DynamicMarkdownPreview extends Disposable implements ManagedMarkdow
560564 previewConfigurations : MarkdownPreviewConfigurationManager ,
561565 logger : Logger ,
562566 topmostLineMonitor : TopmostLineMonitor ,
563- contributionProvider : MarkdownContributionProvider
567+ contributionProvider : MarkdownContributionProvider ,
568+ engine : MarkdownEngine ,
564569 ) : DynamicMarkdownPreview {
565570 const webview = vscode . window . createWebviewPanel (
566571 DynamicMarkdownPreview . viewType ,
567572 DynamicMarkdownPreview . getPreviewTitle ( input . resource , input . locked ) ,
568573 previewColumn , { enableFindWidget : true , } ) ;
569574
570575 return new DynamicMarkdownPreview ( webview , input ,
571- contentProvider , previewConfigurations , logger , topmostLineMonitor , contributionProvider ) ;
576+ contentProvider , previewConfigurations , logger , topmostLineMonitor , contributionProvider , engine ) ;
572577 }
573578
574579 private constructor (
@@ -579,6 +584,7 @@ export class DynamicMarkdownPreview extends Disposable implements ManagedMarkdow
579584 private readonly _logger : Logger ,
580585 private readonly _topmostLineMonitor : TopmostLineMonitor ,
581586 private readonly _contributionProvider : MarkdownContributionProvider ,
587+ private readonly _engine : MarkdownEngine ,
582588 ) {
583589 super ( ) ;
584590
@@ -729,6 +735,7 @@ export class DynamicMarkdownPreview extends Disposable implements ManagedMarkdow
729735 this . update ( link , fragment ? new StartingScrollFragment ( fragment ) : undefined ) ;
730736 }
731737 } ,
738+ this . _engine ,
732739 this . _contentProvider ,
733740 this . _previewConfigurations ,
734741 this . _logger ,
0 commit comments