public void ExportToFile(Codegram gram, string outputPath) { using (TextWriter writer = File.CreateText(outputPath)) { writer.Write(Export(gram)); } }
public Codegram GenerateCodegramFromDiffContent(DiffInfo diffInfo, int maxSize) { var codegram = new Codegram(); codegram.Filegrams = new List <Filegram>(); codegram.Author = diffInfo.Author; codegram.Date = diffInfo.Date; codegram.Message = diffInfo.Message; CrossSimiliarity(diffInfo.Files); foreach (var file in diffInfo.Files) { var filegram = new Filegram(); filegram.FileName = file.Hunks.First().FileName; foreach (var chunk in file.Hunks) { var lines = SalientLines(maxSize, chunk); filegram.Linegrams = lines.ToList(); } codegram.Filegrams.Add(filegram); } // Temp placement: Apply patterns Pattern pattern = new RemovedFilePattern(); pattern.Rewrite(codegram); return(codegram); }
public string Export(Codegram gram) { AsMarkdown formatter = new AsMarkdown(); var markdown = formatter.Export(gram); var markdown2Html = new Markdown(); var html = markdown2Html.Transform(markdown); return(html); }
public string Export(Codegram gram) { StringWriter w = new StringWriter(); w.WriteLine("## Codegram"); w.WriteLine("{0} committed on {1}:", gram.Author, gram.Date); w.WriteLine("> {0}", gram.Message.Replace("\n", "\n> ")); w.WriteLine(); w.WriteLine("[Full Details]({0})", gram.CommitUrl); foreach (var file in gram.Filegrams) { w.WriteLine("### {0}", file.FileName); foreach (var line in file.Linegrams) { w.WriteLine(" {1}", line.LineNumber, line.Line.TrimEnd()); } } return(w.ToString()); }
public abstract Codegram Rewrite(Codegram gram);