internal Parser(ColorCode.ILanguage lang) { _lang = lang; var repo = new ColorCode.Common.LanguageRepository(new Dictionary<string, ColorCode.ILanguage>()); var compiler = new ColorCode.Compilation.LanguageCompiler(new Dictionary<string, ColorCode.Compilation.CompiledLanguage>()); _internalParser = new ColorCode.Parsing.LanguageParser(compiler, repo); }
internal Parser(ColorCode.ILanguage lang) { _lang = lang; var repo = new ColorCode.Common.LanguageRepository(new Dictionary <string, ColorCode.ILanguage>()); var compiler = new ColorCode.Compilation.LanguageCompiler(new Dictionary <string, ColorCode.Compilation.CompiledLanguage>()); _internalParser = new ColorCode.Parsing.LanguageParser(compiler, repo); }
public void WriteHeader(IStyleSheet styleSheet, ColorCode.ILanguage language, System.IO.TextWriter textWriter) { ColorCode.Common.Guard.ArgNotNull(styleSheet, "styleSheet"); ColorCode.Common.Guard.ArgNotNull(textWriter, "textWriter"); WriteHeaderDivStart(styleSheet, textWriter); WriteHeaderPreStart(textWriter); textWriter.WriteLine(); }
/// <summary> /// Colorizes source code using the specified language, the default formatter, and the default style sheet. /// </summary> /// <param name="sourceCode">The source code to colorize.</param> /// <param name="language">The language to use to colorize the source code.</param> /// <returns>The colorized source code.</returns> public string Colorize(string sourceCode, ColorCode.ILanguage language) { System.Text.StringBuilder buffer = new System.Text.StringBuilder(sourceCode.Length * 2); using (System.IO.TextWriter writer = new System.IO.StringWriter(buffer)) { Colorize(sourceCode, language, writer); writer.Flush(); } return(buffer.ToString()); }
/// <summary> /// Colorizes source code using the specified language, formatter, and style sheet. /// </summary> /// <param name="sourceCode">The source code to colorize.</param> /// <param name="language">The language to use to colorize the source code.</param> /// <param name="formatter">The formatter to use to colorize the source code.</param> /// <param name="styleSheet">The style sheet to use to colorize the source code.</param> /// <param name="textWriter">The text writer to which the colorized source code will be written.</param> public void Colorize(string sourceCode, ColorCode.ILanguage language, IFormatter formatter, IStyleSheet styleSheet, System.IO.TextWriter textWriter) { ColorCode.Common.Guard.ArgNotNull(language, "language"); ColorCode.Common.Guard.ArgNotNull(formatter, "formatter"); ColorCode.Common.Guard.ArgNotNull(styleSheet, "styleSheet"); ColorCode.Common.Guard.ArgNotNull(textWriter, "textWriter"); formatter.WriteHeader(styleSheet, language, textWriter); languageParser.Parse(sourceCode, language, (parsedSourceCode, captures) => formatter.Write(parsedSourceCode, captures, styleSheet, textWriter)); formatter.WriteFooter(styleSheet, language, textWriter); }
private string Colorize(string input, ColorCode.ILanguage language, System.Func <string, string> htmlEncode) { System.Threading.Thread colorizeThread = new System.Threading.Thread(InvokeColorize) { IsBackground = true }; ColorizeData data = new ColorizeData { Input = input, Language = language }; colorizeThread.Start(data); if (!colorizeThread.Join(5000)) // wait 5 seconds before killing it { colorizeThread.Abort(); data.Output = FormatSyntax(input, htmlEncode); } return(data.Output); }
/// <summary> /// Colorizes source code using the specified language, the default formatter, and the default style sheet. /// </summary> /// <param name="sourceCode">The source code to colorize.</param> /// <param name="language">The language to use to colorize the source code.</param> /// <param name="textWriter">The text writer to which the colorized source code will be written.</param> public void Colorize(string sourceCode, ColorCode.ILanguage language, System.IO.TextWriter textWriter) { Colorize(sourceCode, language, Formatters.Default, StyleSheets.Default, textWriter); }