package patdiff
File Diff using the Patience Diff algorithm
Install
Dune Dependency
Authors
Maintainers
Sources
v0.16.1.tar.gz
md5=ed1fd8166e2e99774432c1e28515f37e
sha512=7833f95ce42eeb17ecbef514eab13a37a0ab125b3c6e7e8af09c5b0efa3be6b971c6c4a40f3d809f1c254c8bc720ddaa46b54ff0514ddb9db0f5be03d99f5fd0
doc/src/patdiff.kernel/should_keep_whitespace.ml.html
Source file should_keep_whitespace.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
open! Core open! Import let looks_like_python_filename = String.is_suffix ~suffix:".py" let looks_like_python_first_line first_line = String.is_prefix first_line ~prefix:"#!" && String.is_substring first_line ~substring:"python" ;; let looks_like_python input ~get_name ~get_first_line = looks_like_python_filename (get_name input) || looks_like_python_first_line (get_first_line input) ;; let fsharp_suffixes = let non_base_suffixes = "iylx" in let base = ".fs" in base :: List.map (String.to_list non_base_suffixes) ~f:(fun char -> base ^ Char.to_string char) ;; let%expect_test "fsharp_suffixes" = print_s [%sexp (fsharp_suffixes : string list)]; [%expect {| (.fs .fsi .fsy .fsl .fsx) |}] ;; let looks_like_fsharp_filename filename = List.exists fsharp_suffixes ~f:(fun suffix -> String.is_suffix ~suffix filename) ;; let looks_like_fsharp input ~get_name ~get_first_line:_ = looks_like_fsharp_filename (get_name input) ;; let for_diff_internal ~prev ~next ~get_name ~get_first_line = List.exists [ looks_like_python; looks_like_fsharp ] ~f:(fun f -> List.exists [ prev; next ] ~f:(fun input -> f input ~get_name ~get_first_line)) ;; let for_diff = for_diff_internal ~get_name:Diff_input.name ~get_first_line:(fun (input : Diff_input.t) -> match String.lsplit2 input.text ~on:'\n' with | Some (first_line, _) -> first_line | None -> input.text) ;; let for_diff_array = for_diff_internal ~get_name:fst ~get_first_line:(fun (_, lines) -> if Array.is_empty lines then "" else lines.(0)) ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>