Skip to main content

lib/pi/protocol/tool/ast/match.ex

defmodule Pi.Protocol.Tool.AST.Match do
  @moduledoc "Structured AST search match payload."

  use JSONCodec, fast_path: :json

  defstruct [:file, :line, :source, :pattern, captures: %{}]

  @type t :: %__MODULE__{
          file: String.t(),
          line: pos_integer(),
          source: String.t(),
          pattern: String.t() | nil,
          captures: map()
        }
end