Пример #1
0
    /// <summary>
    /// Returns the formatted text.
    /// </summary>
    /// <param name="options">Whatever options were set in the regex groups.</param>
    /// <param name="text">Send the e.body so it can get formatted.</param>
    /// <returns>The formatted string of the match.</returns>
    private string Highlight(HighlightOptions options, string text)
    {
        switch (options.Language)
        {
        case "c#":
            CSharpFormat csf = new CSharpFormat();
            csf.LineNumbers = options.DisplayLineNumbers;
            csf.Alternate   = options.AlternateLineNumbers;
            return(HttpContext.Current.Server.HtmlDecode(csf.FormatCode(text)));

        case "vb":
            VisualBasicFormat vbf = new VisualBasicFormat();
            vbf.LineNumbers = options.DisplayLineNumbers;
            vbf.Alternate   = options.AlternateLineNumbers;
            return(HttpContext.Current.Server.HtmlDecode(vbf.FormatCode(text)));

        case "js":
            JavaScriptFormat jsf = new JavaScriptFormat();
            jsf.LineNumbers = options.DisplayLineNumbers;
            jsf.Alternate   = options.AlternateLineNumbers;
            return(HttpContext.Current.Server.HtmlDecode(jsf.FormatCode(text)));

        case "html":
            HtmlFormat htmlf = new HtmlFormat();
            htmlf.LineNumbers = options.DisplayLineNumbers;
            htmlf.Alternate   = options.AlternateLineNumbers;
            text = StripHtml(text).Trim();
            string code = htmlf.FormatCode(HttpContext.Current.Server.HtmlDecode(text)).Trim();
            return(code.Replace("\r\n", "<br />").Replace("\n", "<br />"));

        case "xml":
            HtmlFormat xmlf = new HtmlFormat();
            xmlf.LineNumbers = options.DisplayLineNumbers;
            xmlf.Alternate   = options.AlternateLineNumbers;
            text             = text.Replace("<br />", "\r\n");
            text             = StripHtml(text).Trim();
            string xml = xmlf.FormatCode(HttpContext.Current.Server.HtmlDecode(text)).Trim();
            return(xml.Replace("\r\n", "<br />").Replace("\n", "<br />"));

        case "tsql":
            TsqlFormat tsqlf = new TsqlFormat();
            tsqlf.LineNumbers = options.DisplayLineNumbers;
            tsqlf.Alternate   = options.AlternateLineNumbers;
            return(HttpContext.Current.Server.HtmlDecode(tsqlf.FormatCode(text)));

        case "msh":
            MshFormat mshf = new MshFormat();
            mshf.LineNumbers = options.DisplayLineNumbers;
            mshf.Alternate   = options.AlternateLineNumbers;
            return(HttpContext.Current.Server.HtmlDecode(mshf.FormatCode(text)));
        }

        return(string.Empty);
    }
Пример #2
0
        public static string HighlightToHTML(string source, LangType type, bool customProtectionTags)
        {
            SourceFormat sf = null;

            switch (type)
            {
            case LangType.C:
            case LangType.CPP:
                sf = new CppFormat();
                break;

            case LangType.CS:
                sf = new CSharpFormat();
                break;

            case LangType.Html:
            case LangType.Xml:
            case LangType.Asp:
                sf = new HtmlFormat();
                break;

            case LangType.JS:
                sf = new JavaScriptFormat();
                break;

            case LangType.Msh:
                sf = new MshFormat();
                break;

            case LangType.TSql:
                sf = new TsqlFormat();
                break;

            case LangType.VB:
                sf = new VisualBasicFormat();
                break;
            }

            if (sf == null)
            {
                return(source);
            }

            sf.CustomProtectedTags = customProtectionTags;
            return(sf.FormatCode(source));
        }
Пример #3
0
        /// <summary>
        /// Returns the formatted text.
        /// </summary>
        /// <param name="options">Whatever options were set in the regex groups.</param>
        /// <param name="text">Send the e.body so it can get formatted.</param>
        /// <returns>The formatted string of the match.</returns>
        private static string Highlight(HighlightOptions options, string text)
        {
            switch (options.Language)
            {
                case "c#":
                    var csf = new CSharpFormat();
                    csf.LineNumbers = options.DisplayLineNumbers;
                    csf.Alternate = options.AlternateLineNumbers;
                    return HttpUtility.HtmlDecode(csf.FormatCode(text));

                case "vb":
                    var vbf = new VisualBasicFormat();
                    vbf.LineNumbers = options.DisplayLineNumbers;
                    vbf.Alternate = options.AlternateLineNumbers;
                    return vbf.FormatCode(text);

                case "js":
                    var jsf = new JavaScriptFormat();
                    jsf.LineNumbers = options.DisplayLineNumbers;
                    jsf.Alternate = options.AlternateLineNumbers;
                    return HttpUtility.HtmlDecode(jsf.FormatCode(text));

                case "html":
                    var htmlf = new HtmlFormat();
                    htmlf.LineNumbers = options.DisplayLineNumbers;
                    htmlf.Alternate = options.AlternateLineNumbers;
                    text = StripHtml(text).Trim();
                    string code = htmlf.FormatCode(HttpUtility.HtmlDecode(text)).Trim();
                    return code.Replace("\r\n", "<br />").Replace("\n", "<br />");

                case "xml":
                    var xmlf = new HtmlFormat();
                    xmlf.LineNumbers = options.DisplayLineNumbers;
                    xmlf.Alternate = options.AlternateLineNumbers;
                    text = text.Replace("<br />", "\r\n");
                    text = StripHtml(text).Trim();
                    string xml = xmlf.FormatCode(HttpUtility.HtmlDecode(text)).Trim();
                    return xml.Replace("\r\n", "<br />").Replace("\n", "<br />");

                case "tsql":
                    var tsqlf = new TsqlFormat();
                    tsqlf.LineNumbers = options.DisplayLineNumbers;
                    tsqlf.Alternate = options.AlternateLineNumbers;
                    return HttpUtility.HtmlDecode(tsqlf.FormatCode(text));

                case "msh":
                    var mshf = new MshFormat();
                    mshf.LineNumbers = options.DisplayLineNumbers;
                    mshf.Alternate = options.AlternateLineNumbers;
                    return HttpUtility.HtmlDecode(mshf.FormatCode(text));

            }

            return string.Empty;
        }
Пример #4
0
    /// <summary>
    /// Returns the formatted text.
    /// </summary>
    /// <param name="options">
    /// Whatever options were set in the regex groups.
    /// </param>
    /// <param name="text">
    /// Send the e.body so it can get formatted.
    /// </param>
    /// <returns>
    /// The formatted string of the match.
    /// </returns>
    private static string Highlight(HighlightOptions options, string text)
    {
        switch (options.Language)
        {
        case "c#":
            var csf = new CSharpFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            return(HttpContext.Current.Server.HtmlDecode(csf.FormatCode(text)));

        case "vb":
            var vbf = new VisualBasicFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            return(HttpContext.Current.Server.HtmlDecode(vbf.FormatCode(text)));

        case "js":
            var jsf = new JavaScriptFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            return(HttpContext.Current.Server.HtmlDecode(jsf.FormatCode(text)));

        case "html":
            var htmlf = new HtmlFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            text = Utils.StripHtml(text);
            var code = htmlf.FormatCode(HttpContext.Current.Server.HtmlDecode(text)).Trim();
            return(code.Replace("\r\n", "<br />").Replace("\n", "<br />"));

        case "xml":
            var xmlf = new HtmlFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            text = text.Replace("<br />", "\r\n");
            text = Utils.StripHtml(text);
            var xml = xmlf.FormatCode(HttpContext.Current.Server.HtmlDecode(text)).Trim();
            return(xml.Replace("\r\n", "<br />").Replace("\n", "<br />"));

        case "tsql":
            var tsqlf = new TsqlFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            return(HttpContext.Current.Server.HtmlDecode(tsqlf.FormatCode(text)));

        case "msh":
            var mshf = new MshFormat
            {
                LineNumbers = options.DisplayLineNumbers,
                Alternate   = options.AlternateLineNumbers
            };
            return(HttpContext.Current.Server.HtmlDecode(mshf.FormatCode(text)));
        }

        return(string.Empty);
    }