<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace Assent.Reporters.DiffPrograms
{
    public class BeyondCompareDiffProgram : DiffProgramBase
    {
        static BeyondCompareDiffProgram()
        {
            var paths = new List<string>();
            if (DiffReporter.IsWindows)
            {
                paths.AddRange(WindowsProgramFilePaths
                    .SelectMany(p =>
                        new[]
                        {
                            $@"{p}\Beyond Compare 4\BCompare.exe",
                            $@"{p}\Beyond Compare 3\BCompare.exe"
                        })
                    .ToArray());
            }
            else
            {
                paths.Add("/usr/bin/bcompare");
            }
            DefaultSearchPaths = paths;
        }

        public static readonly IReadOnlyList<string> DefaultSearchPaths;


        public BeyondCompareDiffProgram() : base(DefaultSearchPaths)
        {
        }

        public BeyondCompareDiffProgram(IReadOnlyList<string> searchPaths)
            : base(searchPaths)
        {
        }

    }
}<commit_msg>Launch beyond compare in solo mode<commit_after>﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace Assent.Reporters.DiffPrograms
{
    public class BeyondCompareDiffProgram : DiffProgramBase
    {
        static BeyondCompareDiffProgram()
        {
            var paths = new List<string>();
            if (DiffReporter.IsWindows)
            {
                paths.AddRange(WindowsProgramFilePaths
                    .SelectMany(p =>
                        new[]
                        {
                            $@"{p}\Beyond Compare 4\BCompare.exe",
                            $@"{p}\Beyond Compare 3\BCompare.exe"
                        })
                    .ToArray());
            }
            else
            {
                paths.Add("/usr/bin/bcompare");
            }
            DefaultSearchPaths = paths;
        }

        public static readonly IReadOnlyList<string> DefaultSearchPaths;


        public BeyondCompareDiffProgram() : base(DefaultSearchPaths)
        {
        }

        public BeyondCompareDiffProgram(IReadOnlyList<string> searchPaths)
            : base(searchPaths)
        {
        }

        protected override string CreateProcessStartArgs(string receivedFile, string approvedFile)
        {
            var defaultArgs = base.CreateProcessStartArgs(receivedFile, approvedFile);
            return $"{defaultArgs} /solo";
        }
    }
}
{'fraction_non_alphanumeric': 0.08385093167701864, 'fraction_numerical': 0.0015527950310559005, 'mean_word_length': 1.4380321665089877, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1563071', 'n_tokens_mistral': 645, 'n_tokens_neox': 600, 'n_words': 111}