public void WriteFoundTools() { var md = Path.Combine(SourceDirectory, "diffTools.include.md"); File.Delete(md); using var writer = File.CreateText(md); foreach (var tool in Definitions.Tools .OrderBy(x => x.Tool.ToString())) { writer.WriteLine($@" ## [{tool.Tool}]({tool.Url})"); writer.WriteLine($@" * Is MDI: {tool.IsMdi} * Supports auto-refresh: {tool.AutoRefresh} * Supports text files: {tool.SupportsText}"); if (tool.BinaryExtensions.Any()) { writer.WriteLine(@" * Supported binaries: " + string.Join(", ", tool.BinaryExtensions)); } if (tool.Notes != null) { writer.WriteLine(@" ### Notes: "); writer.WriteLine(tool.Notes); } if (tool.Windows != null) { writer.WriteLine(@" ### Windows settings: "); WriteArguments(writer, tool.Windows.Arguments !); WritePaths(writer, OsSettingsResolver.ExpandProgramFiles(tool.Windows.ExePaths).ToList()); } if (tool.Osx != null) { writer.WriteLine(@" ### OSX settings: "); WriteArguments(writer, tool.Osx.Arguments); WritePaths(writer, tool.Osx.ExePaths); } if (tool.Linux != null) { writer.WriteLine(@" ### Linux settings: "); WriteArguments(writer, tool.Linux.Arguments); WritePaths(writer, tool.Linux.ExePaths); } } }
public void Expand() { var paths = OsSettingsResolver.ExpandProgramFiles(new[] { @"%ProgramFiles%\Path" }).ToList(); Assert.Equal(@"%ProgramFiles%\Path", paths[0]); Assert.Equal(@"%ProgramW6432%\Path", paths[1]); Assert.Equal(@"%ProgramFiles(x86)%\Path", paths[2]); }
static void AddTool(StreamWriter writer, Definition tool) { writer.WriteLine($@" ### [{tool.Tool}]({tool.Url})"); writer.WriteLine($@" * Cost: {tool.Cost} * Is MDI: {tool.IsMdi} * Supports auto-refresh: {tool.AutoRefresh} * Supports text files: {tool.SupportsText}"); if (tool.BinaryExtensions.Any()) { writer.WriteLine(" * Supported binaries: " + string.Join(", ", tool.BinaryExtensions)); } if (tool.Notes != null) { writer.WriteLine(@" #### Notes:"); writer.WriteLine(tool.Notes); } if (tool.Windows != null) { writer.WriteLine(@" #### Windows settings:"); WriteArguments(writer, tool.Windows); WritePaths(writer, OsSettingsResolver.ExpandProgramFiles(tool.Windows.ExePaths).ToList()); } if (tool.Osx != null) { writer.WriteLine(@" #### OSX settings:"); WriteArguments(writer, tool.Osx); WritePaths(writer, tool.Osx.ExePaths); } if (tool.Linux != null) { writer.WriteLine(@" #### Linux settings:"); WriteArguments(writer, tool.Linux); WritePaths(writer, tool.Linux.ExePaths); } }
public void Simple() { var paths = OsSettingsResolver.ExpandProgramFiles(new[] { "Path" }).ToList(); Assert.Equal("Path", paths.Single()); }