File: .lake/packages/lean4/src/lean/Lean/Widget/InteractiveCode.lean

full_name: Lean.Widget.DiffTag.wasDeleted
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag.willDelete
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag.wasChanged
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag.willChange
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag.wasInserted
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag.willInsert
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Lean.Widget.DiffTag

full_name: Lean.Widget.DiffTag
code: /-- A tag indicating the diff status of the expression. Used when showing tactic diffs. -/
inductive DiffTag where
  | wasChanged
  | willChange
  | wasDeleted
  | willDelete
  | wasInserted
  | willInsert
  deriving ToJson, FromJson
goal: Type

full_name: Lean.Widget.instToJsonDiffTag
code: ToJson
goal: Lean.ToJson Lean.Widget.DiffTag

full_name: Lean.Widget.instFromJsonDiffTag
code: FromJson
goal: Lean.FromJson Lean.Widget.DiffTag

full_name: Lean.Widget.SubexprInfo.diffStatus?
code: /-- Information about a subexpression within delaborated code. -/
structure SubexprInfo where
  /-- The `Elab.Info` node with the semantics of this part of the output. -/
  info : WithRpcRef Lean.Elab.InfoWithCtx
  /-- The position of this subexpression within the top-level expression. See `Lean.SubExpr`. -/
  subexprPos : Lean.SubExpr.Pos
  -- TODO(WN): add fields for semantic highlighting
  -- kind : Lsp.SymbolKind
  /-- In certain situations such as when goal states change between positions in a tactic-mode proof,
  we can show subexpression-level diffs between two expressions. This field asks the renderer to
  display the subexpression as in a diff view (e.g. red/green like `git diff`). -/
  diffStatus? : Option DiffTag := none
  deriving RpcEncodable
goal: Option Lean.Widget.DiffTag

full_name: Lean.Widget.SubexprInfo
code: /-- Information about a subexpression within delaborated code. -/
structure SubexprInfo where
  /-- The `Elab.Info` node with the semantics of this part of the output. -/
  info : WithRpcRef Lean.Elab.InfoWithCtx
  /-- The position of this subexpression within the top-level expression. See `Lean.SubExpr`. -/
  subexprPos : Lean.SubExpr.Pos
  -- TODO(WN): add fields for semantic highlighting
  -- kind : Lsp.SymbolKind
  /-- In certain situations such as when goal states change between positions in a tactic-mode proof,
  we can show subexpression-level diffs between two expressions. This field asks the renderer to
  display the subexpression as in a diff view (e.g. red/green like `git diff`). -/
  diffStatus? : Option DiffTag := none
  deriving RpcEncodable
goal: Type

full_name: Lean.Widget.SubexprInfo.subexprPos
code: /-- Information about a subexpression within delaborated code. -/
structure SubexprInfo where
  /-- The `Elab.Info` node with the semantics of this part of the output. -/
  info : WithRpcRef Lean.Elab.InfoWithCtx
  /-- The position of this subexpression within the top-level expression. See `Lean.SubExpr`. -/
  subexprPos : Lean.SubExpr.Pos
  -- TODO(WN): add fields for semantic highlighting
  -- kind : Lsp.SymbolKind
  /-- In certain situations such as when goal states change between positions in a tactic-mode proof,
  we can show subexpression-level diffs between two expressions. This field asks the renderer to
  display the subexpression as in a diff view (e.g. red/green like `git diff`). -/
  diffStatus? : Option DiffTag := none
  deriving RpcEncodable
goal: Lean.SubExpr.Pos

full_name: Lean.Widget.SubexprInfo.info
code: /-- Information about a subexpression within delaborated code. -/
structure SubexprInfo where
  /-- The `Elab.Info` node with the semantics of this part of the output. -/
  info : WithRpcRef Lean.Elab.InfoWithCtx
  /-- The position of this subexpression within the top-level expression. See `Lean.SubExpr`. -/
  subexprPos : Lean.SubExpr.Pos
  -- TODO(WN): add fields for semantic highlighting
  -- kind : Lsp.SymbolKind
  /-- In certain situations such as when goal states change between positions in a tactic-mode proof,
  we can show subexpression-level diffs between two expressions. This field asks the renderer to
  display the subexpression as in a diff view (e.g. red/green like `git diff`). -/
  diffStatus? : Option DiffTag := none
  deriving RpcEncodable
goal: Lean.Server.WithRpcRef Lean.Elab.InfoWithCtx

full_name: Lean.Widget.Lean.Widget.SubexprInfo.instRpcEncodableSubexprInfo.enc._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveCode._hyg.283
code: RpcEncodable
goal: Lean.Widget.SubexprInfo → StateM Lean.Server.RpcObjectStore Lean.Json

full_name: Lean.Widget.Lean.Widget.SubexprInfo.instToJsonRpcEncodablePacket
code: RpcEncodable
goal: Lean.ToJson Lean.Widget.Lean.Widget.SubexprInfo.RpcEncodablePacket✝

full_name: Lean.Widget.Lean.Widget.SubexprInfo.RpcEncodablePacket._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveCode._hyg.283
code: RpcEncodable
goal: Type

full_name: Lean.Widget.Lean.Widget.SubexprInfo.instRpcEncodableSubexprInfo
code: RpcEncodable
goal: Lean.Server.RpcEncodable Lean.Widget.SubexprInfo

full_name: Lean.Widget.Lean.Widget.SubexprInfo.instFromJsonRpcEncodablePacket
code: RpcEncodable
goal: Lean.FromJson Lean.Widget.Lean.Widget.SubexprInfo.RpcEncodablePacket✝

full_name: Lean.Widget.Lean.Widget.SubexprInfo.instRpcEncodableSubexprInfo.dec._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveCode._hyg.283
code: RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) Lean.Widget.SubexprInfo

full_name: Lean.Widget.CodeWithInfos
code: /-- Pretty-printed syntax (usually but not necessarily an `Expr`) with embedded `Info`s. -/
abbrev CodeWithInfos 
goal: Type

full_name: Lean.Widget.CodeWithInfos.mergePosMap
code: def CodeWithInfos.mergePosMap [Monad m] (merger : SubexprInfo → α → m SubexprInfo) (pm : Lean.SubExpr.PosMap α) (tt : CodeWithInfos) : m CodeWithInfos 
goal: m Lean.Widget.CodeWithInfos

full_name: Lean.Widget.CodeWithInfos.pretty
code: def CodeWithInfos.pretty (tt : CodeWithInfos) 
goal: String

full_name: Lean.Widget.SubexprInfo.withDiffTag
code: def SubexprInfo.withDiffTag (tag : DiffTag) (c : SubexprInfo) : SubexprInfo 
goal: Lean.Widget.SubexprInfo

full_name: Lean.Widget.tagCodeInfos.go
code: /-- Tags pretty-printed code with infos from the delaborator. -/
partial def tagCodeInfos (ctx : Elab.ContextInfo) (infos : SubExpr.PosMap Elab.Info) (tt : TaggedText (Nat × Nat))
    : CodeWithInfos 
goal: Lean.Widget.TaggedText Lean.Widget.SubexprInfo

full_name: Lean.Widget.tagCodeInfos
code: /-- Tags pretty-printed code with infos from the delaborator. -/
partial def tagCodeInfos (ctx : Elab.ContextInfo) (infos : SubExpr.PosMap Elab.Info) (tt : TaggedText (Nat × Nat))
    : CodeWithInfos 
goal: Lean.Widget.CodeWithInfos

full_name: Lean.Widget.ppExprTagged
code: def ppExprTagged (e : Expr) (explicit : Bool := false) : MetaM CodeWithInfos 
goal: Lean.MetaM Lean.Widget.CodeWithInfos