package comby
A tool for structural code search and replace that supports ~every language
Install
Dune Dependency
Authors
Maintainers
Sources
1.3.0.tar.gz
md5=617a80e8673c3f811403f09701c08a25
sha512=2f8f82c119210ae0efd7f3eefdd992d6b52655575233dfab74662d9a9854ce4aafcd4fe01dad17ba310e38f28ee1437be2f3c4af4f6952a97bb19e1400fc709a
doc/src/comby.configuration/ripgrep.ml.html
Source file ripgrep.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
open Core open Lwt let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some let run ~pattern ~args = let options = ["--files-with-matches"; "--multiline"] in let pattern = Format.sprintf {|'%s'|} pattern in let command = ("rg" :: options @ args @ [pattern]) |> String.concat ~sep:" " in if debug then Format.printf "Executing: %s@." command; let lwt_command = Lwt_process.shell command in let recv proc = let ic = proc#stdout in Lwt.finalize (fun () -> Lwt_io.read ic) (fun () -> Lwt_io.close ic) in let f () = Lwt_process.with_process_in lwt_command (fun proc -> recv proc >>= fun result -> proc#status >>= function | WEXITED v when v <> 0 -> return @@ Or_error.errorf "Error executing rg, exit status %d." v | _ -> return (Ok (String.split ~on:'\n' result |> List.filter ~f:(String.(<>) "")))) in try Lwt_main.run (f ()) with Sys.Break -> exit 0
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>