public static MarkdownFlavor FromTextBuffer(ITextBuffer textBuffer) { MarkdownFlavor flavor = MarkdownFlavor.Basic; if (textBuffer.Properties.TryGetProperty("MarkdownFlavor", out flavor)) { return(flavor); } ITextDocument textDocument = null; if (textBuffer.Properties.TryGetProperty(typeof(ITextDocument), out textDocument)) { if (!string.IsNullOrEmpty(textDocument.FilePath)) { string ext = Path.GetExtension(textDocument.FilePath); if (ext.EqualsIgnoreCase(".rmd")) { return(MarkdownFlavor.R); } } } return(MarkdownFlavor.Basic); }
private IMarkdownFlavorPublishHandler GetFlavorHandler(ITextBuffer textBuffer) { MarkdownFlavor flavor = MdFlavor.FromTextBuffer(textBuffer); IMarkdownFlavorPublishHandler value = null; if (_flavorHandlers.TryGetValue(flavor, out value)) { return(value); } return(null); // new MdPublishHandler(); }