コード例 #1
0
    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);
            }
        }
    }
コード例 #2
0
    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]);
    }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    public void Simple()
    {
        var paths = OsSettingsResolver.ExpandProgramFiles(new[] { "Path" }).ToList();

        Assert.Equal("Path", paths.Single());
    }