Exemplo n.º 1
0
        private int GetLevenshteinAfterFormat(string input, EditorStyles formatStyle, List <IFormatOption> formatOptions)
        {
            var styleFormatter = new StyleFormatter();
            var formattedText  = styleFormatter.FormatText(input, formatOptions, formatStyle);

            var diffMatchPatchWrapper = new DiffMatchPatchWrapper();

            diffMatchPatchWrapper.Diff(input, formattedText);

            return(diffMatchPatchWrapper.DiffLevenshtein());
        }
Exemplo n.º 2
0
        public async Task <(FlowDocument, FlowDocument)> CreateFlowDocumentAsync(string input, EditorStyles formatStyle, List <IFormatOption> formatOptions, CancellationToken cancelToken)
        {
            var    diffMatchPatchWrapper = new DiffMatchPatchWrapper();
            string output = string.Empty;
            await Task.Run(() =>
            {
                var formatter = new StyleFormatter();
                output        = formatter.FormatText(input, formatOptions, formatStyle);
                diffMatchPatchWrapper.Diff(input, output);
                diffMatchPatchWrapper.CleanupSemantic();
            }, cancelToken);

            return(diffMatchPatchWrapper.DiffAsFlowDocuments(input, output));
        }