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.server_types/server_types.ml.html

Source file server_types.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
open Core

open Match

module In = struct

  type substitution_request =
    { rewrite_template : string [@key "rewrite"]
    ; environment : Environment.t
    ; id : int
    }
  [@@deriving yojson]

  type match_request =
    { source : string
    ; match_template : string [@key "match"]
    ; rule : string option [@default None]
    ; language : string [@default "generic"]
    ; id : int
    }
  [@@deriving yojson]

  type rewrite_request =
    { source : string
    ; match_template : string [@key "match"]
    ; rewrite_template : string [@key "rewrite"]
    ; rule : string option [@default None]
    ; language : string [@default "generic"]
    ; substitution_kind : string [@default "in_place"]
    ; id : int
    }
  [@@deriving yojson]
end

module Out = struct

  module Matches = struct
    type t =
      { matches : Match.t list
      ; source : string
      ; id : int
      }
    [@@deriving yojson]

    let to_string =
      Fn.compose Yojson.Safe.pretty_to_string to_yojson

  end

  module Rewrite = struct
    type t =
      { rewritten_source : string
      ; in_place_substitutions : Replacement.t list
      ; id : int
      }
    [@@deriving yojson]

    let to_string =
      Fn.compose Yojson.Safe.pretty_to_string to_yojson

  end

  module Substitution = struct

    type t =
      { result : string
      ; id : int
      }
    [@@deriving yojson]

    let to_string =
      Fn.compose Yojson.Safe.pretty_to_string to_yojson

  end
end
OCaml

Innovation. Community. Security.