static void Main(string[] args) { var path = Path.GetFullPath(args.Length > 0 ? args[0].Replace("\"", "") : "./ "); Console.Write($"Processing Assemblies under {path} ... "); _nephilaInstance = new Nephila(new ConsoleLogger(), path); Console.WriteLine("Done"); ReadLine.AutoCompletionHandler = new AutoCompletionHandler(); while (true) { var input = ReadLine.Read(_prompt); if (input.Equals("exit", StringComparison.CurrentCultureIgnoreCase)) { break; } var assemblyRefPairs = _nephilaInstance.GetReferencePairs(input); if (assemblyRefPairs.Count <= 0) { Console.WriteLine($"No result for {input}."); continue; } DrawAssemblyReferenceDiagram(assemblyRefPairs, input); } }
public static string NepilaMermaidOutput(this Nephila nephila, string assemblyFileName) { var pairs = nephila.GetReferencePairs(assemblyFileName); StringBuilder sb = new StringBuilder(); foreach (var pair in pairs) { string assembly = pair.Item1.String; string refferedBy = pair.Item2.String; sb.AppendLine($"{assembly.GetHashCode()}[\"{assembly}\"] --> {refferedBy.GetHashCode()}[\"{refferedBy}\"]"); //sb.AppendLine($"\"{assembly}\" -> \"{refferedBy}\""); } return(sb.ToString()); }