diff --git a/src/packages/markdown-preview/lib/markdown-preview-view.coffee b/src/packages/markdown-preview/lib/markdown-preview-view.coffee index f112d58e1..0560030a0 100644 --- a/src/packages/markdown-preview/lib/markdown-preview-view.coffee +++ b/src/packages/markdown-preview/lib/markdown-preview-view.coffee @@ -26,7 +26,7 @@ class MarkdownPreviewView extends ScrollView @attach() attach: -> - return unless @isMarkdownFile(@getActivePath()) + return unless @isMarkdownEditor() rootView.append(this) @markdownBody.html(@getLoadingHtml()) @loadHtml() @@ -39,9 +39,6 @@ class MarkdownPreviewView extends ScrollView rootView.focus() @detaching = false - getActivePath: -> - rootView.getActiveEditor()?.getPath() - getActiveText: -> rootView.getActiveEditor()?.getText() @@ -76,5 +73,8 @@ class MarkdownPreviewView extends ScrollView setHtml: (html) -> @markdownBody.html(html) if @hasParent() - isMarkdownFile: (path) -> + isMarkdownEditor: (path) -> + editor = rootView.getActiveEditor() + return unless editor? + return true if editor.getGrammar().scopeName is 'source.gfm' path and fs.isMarkdownExtension(fs.extension(path)) diff --git a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee index 7b1012382..c1f259e91 100644 --- a/src/packages/markdown-preview/spec/markdown-preview-spec.coffee +++ b/src/packages/markdown-preview/spec/markdown-preview-spec.coffee @@ -1,6 +1,7 @@ $ = require 'jquery' RootView = require 'root-view' MarkdownPreview = require 'markdown-preview/lib/markdown-preview-view' +_ = require 'underscore' describe "MarkdownPreview", -> beforeEach -> @@ -33,6 +34,18 @@ describe "MarkdownPreview", -> markdownPreviewView = rootView.find('.markdown-preview')?.view() expect(markdownPreviewView.loadHtml).toHaveBeenCalled() + it "displays a preview for a file with the source.gfm grammar scope", -> + gfmGrammar = _.find syntax.grammars, (grammar) -> grammar.scopeName is 'source.gfm' + rootView.open('file.js') + editor = rootView.getActiveEditor() + rootView.project.addGrammarOverrideForPath(editor.getPath(), gfmGrammar) + editor.reloadGrammar() + expect(rootView.find('.markdown-preview')).not.toExist() + editor.trigger('markdown-preview:toggle') + expect(rootView.find('.markdown-preview')).toExist() + markdownPreviewView = rootView.find('.markdown-preview')?.view() + expect(markdownPreviewView.loadHtml).toHaveBeenCalled() + it "does not display a preview for non-markdown file", -> rootView.open('file.js') editor = rootView.getActiveEditor()