defmodule Pi.Protocol.Tool.AST.SearchRequest do
@moduledoc "Arguments for AST search."
use JSONCodec, fast_path: :json
defstruct pattern: nil,
patterns: nil,
path: nil,
inside: nil,
not_inside: nil,
allow_broad: false,
limit: nil
@type t :: %__MODULE__{
pattern: String.t() | nil,
patterns: %{String.t() => String.t()} | nil,
path: String.t() | nil,
inside: String.t() | nil,
not_inside: String.t() | nil,
allow_broad: boolean(),
limit: non_neg_integer() | nil
}
codec(:not_inside, as: "notInside")
codec(:allow_broad, as: "allowBroad")
end