package patdiff

  1. Overview
  2. Docs

This module extends Patdiff_kernel.Configuration with an on-disk config format and functions to parse them.

include module type of struct include Patdiff_kernel.Configuration end
val default_context : int

Default amount of context shown around each change in the diff

The following constants were all chosen empirically.

val default_line_big_enough : int

Default cutoff for line-level semantic cleanup. Any match of default_line_big_enough or more will not be deleted, even if it's surrounded by large inserts and deletes. Raising this quantity can only decrease the number of matches, and lowering it can only increase the number of matches.

val default_word_big_enough : int

Analogous to default_line_big_enough, but for word-level refinement

val too_short_to_split : int

Governs the behavior of split_for_readability. We will only split ranges around matches of size greater than too_short_to_split. Note that this should always be at least 1, otherwise we will split on a single `Newline token. Raising this quantity will result in less ranges being split, and setting it to infinity is the same as passing in ~interleave:false.

val warn_if_no_trailing_newline_in_both_default : bool
type t = private Patdiff_kernel.Configuration.t = {
  1. output : Patdiff_kernel.Output.t;
  2. rules : Patdiff_kernel.Format.Rules.t;
  3. float_tolerance : Core.Percent.t option;
  4. produce_unified_lines : bool;
  5. unrefined : bool;
  6. keep_ws : bool;
  7. find_moves : bool;
  8. split_long_lines : bool;
  9. interleave : bool;
  10. assume_text : bool;
  11. context : int;
  12. line_big_enough : int;
  13. word_big_enough : int;
  14. shallow : bool;
  15. quiet : bool;
  16. double_check : bool;
  17. mask_uniques : bool;
  18. prev_alt : string option;
  19. next_alt : string option;
  20. location_style : Patdiff_kernel.Format.Location_style.t;
  21. warn_if_no_trailing_newline_in_both : bool;
}
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t -> t -> int
val warn_if_no_trailing_newline_in_both : t -> bool
val next_alt : t -> string option
val prev_alt : t -> string option
val mask_uniques : t -> bool
val double_check : t -> bool
val quiet : t -> bool
val shallow : t -> bool
val word_big_enough : t -> int
val line_big_enough : t -> int
val context : t -> int
val assume_text : t -> bool
val interleave : t -> bool
val split_long_lines : t -> bool
val find_moves : t -> bool
val keep_ws : t -> bool
val unrefined : t -> bool
val produce_unified_lines : t -> bool
val float_tolerance : t -> Core.Percent.t option
val output : t -> Patdiff_kernel.Output.t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Core.Invariant.S with type t := t
val invariant : t -> unit
val create_exn : output:Patdiff_kernel.Output.t -> rules:Patdiff_kernel.Format.Rules.t -> float_tolerance:Core.Percent.t option -> produce_unified_lines:bool -> unrefined:bool -> keep_ws:bool -> find_moves:bool -> split_long_lines:bool -> interleave:bool -> assume_text:bool -> context:int -> line_big_enough:int -> word_big_enough:int -> shallow:bool -> quiet:bool -> double_check:bool -> mask_uniques:bool -> prev_alt:string option -> next_alt:string option -> location_style:Patdiff_kernel.Format.Location_style.t -> warn_if_no_trailing_newline_in_both:bool -> t

Raises if invariant t fails.

val override : ?output:Patdiff_kernel.Output.t -> ?rules:Patdiff_kernel.Format.Rules.t -> ?float_tolerance:Core.Percent.t option -> ?produce_unified_lines:bool -> ?unrefined:bool -> ?keep_ws:bool -> ?find_moves:bool -> ?split_long_lines:bool -> ?interleave:bool -> ?assume_text:bool -> ?context:int -> ?line_big_enough:int -> ?word_big_enough:int -> ?shallow:bool -> ?quiet:bool -> ?double_check:bool -> ?mask_uniques:bool -> ?prev_alt:string option -> ?next_alt:string option -> ?location_style:Patdiff_kernel.Format.Location_style.t -> ?warn_if_no_trailing_newline_in_both:bool -> t -> t
val default : t
val load : ?quiet_errors:bool -> string -> t option
val dark_bg : t Core.Lazy.t
val light_bg : t Core.Lazy.t
module On_disk : sig ... end
val parse : On_disk.t -> t
val save_default : filename:string -> unit
val get_config : ?filename:string -> unit -> t

Reads a config from filename, which by default is ~/.patdiff. If ~filename:"" is passed or filename cannot be read, returns default.

OCaml

Innovation. Community. Security.