123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102open!Coreopen!ImportmoduletypeS=sig(** [diff ~context ~keep_ws ~prev ~next] uses [Patience_diff.String] to get a list of
hunks describing the comparison between [prev] and [next]. *)valdiff:context:int->line_big_enough:int->keep_ws:bool->prev:stringarray->next:stringarray->Hunks.t(** [refine hunks] maps each [Range.Replace (prev, next)] in [hunks] to a diff of [prev]
against [next]. *)valrefine:rules:Format.Rules.t->produce_unified_lines:bool->output:Output.t->keep_ws:bool->split_long_lines:bool->interleave:bool->word_big_enough:int->Hunks.t->Hunks.tvalexplode:stringarray->keep_ws:bool->[`Newlineofint*stringoption|`Wordofstring]array(** Print a hunk list, usually from [diff] or [refine] *)valprint:file_names:File_name.t*File_name.t->rules:Format.Rules.t->output:Output.t->location_style:Format.Location_style.t->Hunks.t->unit(** Output a hunk list, usually from [diff] or [refine], to a string *)valoutput_to_string:?print_global_header:bool->file_names:File_name.t*File_name.t->rules:Format.Rules.t->output:Output.t->location_style:Format.Location_style.t->Hunks.t->string(** Iter along the lines of the diff and the breaks between hunks. Offers more flexibility
regarding what the caller wants to do with the lines *)valiter_ansi:rules:Format.Rules.t->f_hunk_break:(int*int->int*int->unit)->f_line:(string->unit)->Hunks.t->unit(** Runs the equivalent of the command line version of patdiff on two given contents
[prev] and [next]. Uses [Patience_diff.String]. *)valpatdiff:?context:int->?keep_ws:bool->?rules:Format.Rules.t->?output:Output.t->?produce_unified_lines:bool->?split_long_lines:bool->?print_global_header:bool->?location_style:Format.Location_style.t->?interleave:bool->?line_big_enough:int->?word_big_enough:int->prev:Diff_input.t->next:Diff_input.t->unit->stringendmoduletypeOutput_impls=sigvalimplementation:Output.t->(moduleOutput.S)valconsole_width:unit->intOr_error.tendmoduletypePatdiff_core=sigmoduletypeS=Svaldefault_context:intvaldefault_line_big_enough:intvaldefault_word_big_enough:int(** [remove_ws] calls String.strip and replaces whitespace with " " *)valremove_ws:string->stringmodulePrivate:sigmoduleMake(Output_impls:Output_impls):SendmoduleWithout_unix:Send