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

full_name: Lean.Widget.StrictOrLazy
code: inductive StrictOrLazy (α β : Type) : Type
  | strict : α → StrictOrLazy α β
  | lazy : β → StrictOrLazy α β
  deriving Inhabited, RpcEncodable
goal: Type

full_name: Lean.Widget.instInhabitedStrictOrLazy
code: inductive StrictOrLazy (α β : Type) : Type
  | strict : α → StrictOrLazy α β
  | lazy : β → StrictOrLazy α β
  deriving Inhabited, RpcEncodable
goal: {a : Type} → [inst : Inhabited a] → {a_1 : Type} → Inhabited (Lean.Widget.StrictOrLazy a a_1)

full_name: Lean.Widget.StrictOrLazy.strict
code: inductive StrictOrLazy (α β : Type) : Type
  | strict : α → StrictOrLazy α β
  | lazy : β → StrictOrLazy α β
  deriving Inhabited, RpcEncodable
goal: α → Lean.Widget.StrictOrLazy α β

full_name: Lean.Widget.StrictOrLazy.lazy
code: inductive StrictOrLazy (α β : Type) : Type
  | strict : α → StrictOrLazy α β
  | lazy : β → StrictOrLazy α β
  deriving Inhabited, RpcEncodable
goal: β → Lean.Widget.StrictOrLazy α β

full_name: Lean.Widget.Lean.Widget.StrictOrLazy.instRpcEncodableStrictOrLazy.enc._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.4
code: RpcEncodable
goal: Lean.Widget.StrictOrLazy α β → StateM Lean.Server.RpcObjectStore Lean.Json

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

full_name: Lean.Widget.Lean.Widget.StrictOrLazy.instRpcEncodableStrictOrLazy
code: RpcEncodable
goal: Lean.Server.RpcEncodable (Lean.Widget.StrictOrLazy α β)

full_name: Lean.Widget.Lean.Widget.StrictOrLazy.instRpcEncodableStrictOrLazy.dec._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.4
code: RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) (Lean.Widget.StrictOrLazy α β)

full_name: Lean.Widget.Lean.Widget.StrictOrLazy.RpcEncodablePacket._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.4
code: RpcEncodable
goal: Type

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

full_name: Lean.Widget.LazyTraceChildren.indent
code: structure LazyTraceChildren where
  indent : Nat
  children : Array (WithRpcRef MessageData)
  deriving TypeName
goal: Nat

full_name: Lean.Widget.LazyTraceChildren
code: structure LazyTraceChildren where
  indent : Nat
  children : Array (WithRpcRef MessageData)
  deriving TypeName
goal: Type

full_name: Lean.Widget.LazyTraceChildren.children
code: structure LazyTraceChildren where
  indent : Nat
  children : Array (WithRpcRef MessageData)
  deriving TypeName
goal: Array (Lean.Server.WithRpcRef Lean.MessageData)

full_name: Lean.Widget.inst._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.541
code: TypeName
goal: TypeName Lean.Widget.LazyTraceChildren

full_name: Lean.Widget.instImpl._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.541
code: TypeName
goal: TypeName Lean.Widget.LazyTraceChildren

full_name: Lean.Widget.instTypeNameLazyTraceChildren
code: TypeName
goal: TypeName Lean.Widget.LazyTraceChildren

full_name: Lean.Widget.MsgEmbed.expr
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Lean.Widget.CodeWithInfos → Lean.Widget.MsgEmbed

full_name: Lean.Widget.MsgEmbed.goal
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Lean.Widget.InteractiveGoal → Lean.Widget.MsgEmbed

full_name: Lean.Widget.instInhabitedMsgEmbed
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Inhabited Lean.Widget.MsgEmbed

full_name: Lean.Widget.MsgEmbed.widget
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Lean.Widget.MsgEmbed

full_name: Lean.Widget.MsgEmbed
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Type

full_name: Lean.Widget.MsgEmbed.trace
code: inductive MsgEmbed where
  /-- A piece of Lean code with elaboration/typing data.
  Note: does not necessarily correspond to an `Expr`, the name is for RPC API compatibility. -/
  | expr : CodeWithInfos → MsgEmbed
  /-- An interactive goal display. -/
  | goal : InteractiveGoal → MsgEmbed
  /-- A widget instance.

  `alt` is a fallback rendering of the widget
  that can be shown in standard, non-interactive LSP diagnostics,
  as well as when user widgets are not supported by the client. -/
  | widget (wi : Widget.WidgetInstance) (alt : TaggedText MsgEmbed)
  /-- Some messages (in particular, traces) are too costly to print eagerly.
  Instead, we allow the user to expand sub-traces interactively. -/
  | trace (indent : Nat) (cls : Name) (msg : TaggedText MsgEmbed) (collapsed : Bool)
      (children : StrictOrLazy (Array (TaggedText MsgEmbed)) (WithRpcRef LazyTraceChildren))
  deriving Inhabited, RpcEncodable
goal: Lean.Widget.MsgEmbed

full_name: Lean.Widget.Lean.Widget.MsgEmbed.instRpcEncodableMsgEmbed
code: RpcEncodable
goal: Lean.Server.RpcEncodable Lean.Widget.MsgEmbed

full_name: Lean.Widget.Lean.Widget.MsgEmbed.instRpcEncodableMsgEmbed.enc._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.563
code: RpcEncodable
goal: Lean.Widget.MsgEmbed → StateM Lean.Server.RpcObjectStore Lean.Json

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

full_name: Lean.Widget.Lean.Widget.MsgEmbed.instRpcEncodableMsgEmbed.dec._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.563
code: RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) Lean.Widget.MsgEmbed

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

full_name: Lean.Widget.Lean.Widget.MsgEmbed.RpcEncodablePacket._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.563
code: RpcEncodable
goal: Type

full_name: Lean.Widget.InteractiveDiagnostic
code: /-- The `message` field is the text of a message
possibly containing interactive *embeds* of type `MsgEmbed`.
We maintain the invariant that embeds are stored in `.tag`s with empty `.text` subtrees,
i.e., `.tag embed (.text "")`.

Client-side display algorithms render tags in a custom way,
ignoring the nested text. -/
abbrev InteractiveDiagnostic 
goal: Type

full_name: Lean.Widget.Lean.Lsp.DiagnosticWith.RpcEncodablePacket._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.1838
code: RpcEncodable
goal: Type

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

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

full_name: Lean.Widget.Lean.Lsp.DiagnosticWith.instRpcEncodableDiagnosticWith_.lake.dec._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.1838
code: RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) (Lean.Lsp.DiagnosticWith α)

full_name: Lean.Widget.Lean.Lsp.DiagnosticWith.«instRpcEncodableDiagnosticWith_.lake»
code: RpcEncodable
goal: Lean.Server.RpcEncodable (Lean.Lsp.DiagnosticWith α)

full_name: Lean.Widget.Lean.Lsp.DiagnosticWith.instRpcEncodableDiagnosticWith_.lake.enc._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.1838
code: RpcEncodable
goal: Lean.Lsp.DiagnosticWith α → StateM Lean.Server.RpcObjectStore Lean.Json

full_name: Lean.Widget.InteractiveDiagnostic.toDiagnostic
code: partial def toDiagnostic (diag : InteractiveDiagnostic) : Lsp.Diagnostic 
goal: Lean.Lsp.Diagnostic

full_name: Lean.Widget.InteractiveDiagnostic.toDiagnostic.prettyTt
code: partial def toDiagnostic (diag : InteractiveDiagnostic) : Lsp.Diagnostic 
goal: String

full_name: Lean.Widget.InteractiveDiagnostic.compareAsDiagnostics
code: /-- Compares interactive diagnostics modulo `TaggedText` tags and traces. -/
def compareAsDiagnostics (a b : InteractiveDiagnostic) : Ordering 
goal: Ordering

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.mkPPContext
code: private def mkPPContext (nCtx : NamingContext) (ctx : MessageDataContext) : PPContext 
goal: Lean.PPContext

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Type

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt.widget
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Lean.Widget.EmbedFmt

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt.trace
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Lean.Widget.EmbedFmt

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt.code
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Lean.Widget.EmbedFmt

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt.goal
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Lean.Widget.EmbedFmt

full_name: Lean.Widget.instInhabitedEmbedFmt
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Inhabited Lean.Widget.EmbedFmt

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.EmbedFmt.ignoreTags
code: private inductive EmbedFmt
  /-- Nested tags denote `Info` objects in `infos`. -/
  | code (ctx : Elab.ContextInfo) (infos : RBMap Nat Elab.Info compare)
  /-- Nested text is ignored. -/
  | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId)
  /-- Nested text is ignored. -/
  | widget (wi : WidgetInstance) (alt : Format)
  /-- Nested text is ignored. -/
  | trace (cls : Name) (msg : Format) (collapsed : Bool)
    (children : StrictOrLazy (Array Format) (Array MessageData))
  /-- Nested tags are ignored, show nested text as-is. -/
  | ignoreTags
  deriving Inhabited
goal: Lean.Widget.EmbedFmt

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.MsgFmtM
code: private abbrev MsgFmtM 
goal: Type

full_name: Lean.Widget.initFn._@..lake.packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic._hyg.3411
code: /--
Number of trace node children to display by default in the info view in order to prevent slowdowns
from rendering.
-/
register_option infoview.maxTraceChildren : Nat := {
  defValue := 50
  descr := "Number of trace node children to display by default"
}
goal: IO (Lean.Option Nat)

full_name: Lean.Widget.infoview.maxTraceChildren
code: /--
Number of trace node children to display by default in the info view in order to prevent slowdowns
from rendering.
-/
register_option infoview.maxTraceChildren : Nat := {
  defValue := 50
  descr := "Number of trace node children to display by default"
}
goal: Lean.Option Nat

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux.pushEmbed
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: Lean.Widget.MsgFmtM Nat

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux.withIgnoreTags
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: Lean.Widget.MsgFmtM Lean.Format

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux.mkContextInfo
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: Lean.Elab.ContextInfo

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux.go
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: Option Lean.MessageDataContext → Lean.MessageData → Lean.Widget.MsgFmtM Lean.Format

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux.chopUpChildren
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: Array Lean.MessageData

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Widget.InteractiveDiagnostic.0.Lean.Widget.msgToInteractiveAux
code: private partial def msgToInteractiveAux (msgData : MessageData) : IO (Format × Array EmbedFmt) 
goal: IO (Lean.Format × Array Lean.Widget.EmbedFmt)

full_name: Lean.Widget.msgToInteractive
code: partial def msgToInteractive (msgData : MessageData) (hasWidgets : Bool) (indent : Nat := 0) : IO (TaggedText MsgEmbed) 
goal: IO (Lean.Widget.TaggedText Lean.Widget.MsgEmbed)

full_name: Lean.Widget.msgToInteractive.fmtToTT
code: partial def msgToInteractive (msgData : MessageData) (hasWidgets : Bool) (indent : Nat := 0) : IO (TaggedText MsgEmbed) 
goal: IO (Lean.Widget.TaggedText Lean.Widget.MsgEmbed)

full_name: Lean.Widget.msgToInteractiveDiagnostic
code: /-- Transform a Lean Message concerning the given text into an LSP Diagnostic. -/
def msgToInteractiveDiagnostic (text : FileMap) (m : Message) (hasWidgets : Bool) :
    BaseIO InteractiveDiagnostic 
goal: BaseIO Lean.Widget.InteractiveDiagnostic