# codegen: do not edit
defmodule GenLSP.Structures.InlineValueEvaluatableExpression do
@moduledoc """
Provide an inline value through an expression evaluation.
If only a range is specified, the expression will be extracted from the underlying document.
An optional expression can be used to override the extracted expression.
@since 3.17.0
"""
import Schematic, warn: false
use TypedStruct
@doc """
## Fields
* range: The document range for which the inline value applies.
The range is used to extract the evaluatable expression from the underlying document.
* expression: If specified the expression overrides the extracted expression.
"""
@derive Jason.Encoder
typedstruct do
field :range, GenLSP.Structures.Range.t(), enforce: true
field :expression, String.t()
end
@doc false
@spec schematic() :: Schematic.t()
def schematic() do
schema(__MODULE__, %{
{"range", :range} => GenLSP.Structures.Range.schematic(),
optional({"expression", :expression}) => str()
})
end
end