package comby

  1. Overview
  2. Docs
A tool for structural code search and replace that supports ~every language

Install

Dune Dependency

Authors

Maintainers

Sources

1.2.2.tar.gz
md5=86fd3dcdaa792a5d871f695a082ad9b5
sha512=63af340d65f4ca37f00bee2a67c7a87822ef15c86051e6486c6eeb5d7fe310c845d4fff15625a72b48ceea89e14aff52dc678da1d43d2029f58b435885d568d8

doc/src/comby.replacement/replacement.ml.html

Source file replacement.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
open Core

open Match

type t =
  { range : range
  ; replacement_content : string
  ; environment : environment
  }
[@@deriving yojson]

type result =
  { rewritten_source : string
  ; in_place_substitutions : t list
  }
[@@deriving yojson]

let empty_result =
  { rewritten_source = ""
  ; in_place_substitutions = []
  }
[@@deriving yojson]

let to_json ?path ?replacements ?rewritten_source ~diff () =
  let uri =
    match path with
    | Some path -> `String path
    | None -> `Null
  in
  match replacements, rewritten_source with
  | Some replacements, Some rewritten_source ->
    `Assoc
      [ "uri", uri
      ; "rewritten_source", `String rewritten_source
      ; "in_place_substitutions", `List (List.map ~f:to_yojson replacements)
      ; "diff", `String diff
      ]
  | _ ->
    `Assoc
      [ "uri", uri
      ; "diff", `String diff
      ]
OCaml

Innovation. Community. Security.