Documentation

Lean.DocString.Extension

Saved data that describes a custom inline element.

The type of value contained within the Dynamic determines the interpretation of the custom element, including how it is rendered to Markdown for the language server.

  • custom (val : Dynamic) : ElabInline

    A custom inline element. The type of the value in the Dynamic determines how it is interpreted and rendered.

  • deferred (index : Nat) : ElabInline

    A deferred check that lacked sufficient information when it was used (e.g. a forward references to a name in a downstream module). The index identifies it among the docstring's deferred checks that are stored in an environment extension. Inline and block deferred checks use the same counter.

Instances For
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    inductive Lean.ElabBlock :

    Saved data that describes a custom block element.

    The type of value contained within the Dynamic determines the interpretation of the custom element, including how it is rendered to Markdown for the language server.

    • custom (val : Dynamic) : ElabBlock

      A custom block element. The type of the value in the Dynamic determines how it is interpreted and rendered.

    • deferred (index : Nat) : ElabBlock

      A deferred check that lacked sufficient information when it was used (e.g. a forward references to a name in a downstream module). The index identifies it among the docstring's deferred checks that are stored in an environment extension. Inline and block deferred checks use the same counter.

    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[inline]
      def Lean.Doc.Inline.custom {α : Type u_1} [TypeName α] (val : α) (content : Array (Inline ElabInline)) :

      A custom inline element val. The type α determines how it is interpreted. In contexts where α is not understood, content is used as a fallback.

      Equations
      Instances For
        @[inline]

        An inline element with a deferred check. The index is a 0-based index into the current docstring's deferred checks, in source order. Block and inline deferred elements share a counter.

        Equations
        Instances For
          @[inline]

          A custom block element val. The type α determines how it is interpreted. In contexts where α is not understood, content is used as a fallback.

          Equations
          Instances For
            @[inline]

            A block element with a deferred check. The index is a 0-based index into the current docstring's deferred checks, in source order. Block and inline deferred elements share a counter.

            Equations
            Instances For
              def Lean.addBuiltinDocString (declName : Name) (docString : String) :

              Adds a builtin docstring to the compiler.

              Links to the Lean manual aren't validated.

              Equations
              Instances For

                Removes a builtin docstring from the compiler. This is used when translating between formats.

                Equations
                Instances For
                  def Lean.addDocStringCore {m : TypeType} [Monad m] [MonadError m] [MonadEnv m] [MonadLiftT BaseIO m] (declName : Name) (docString : String) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Lean.removeDocStringCore {m : TypeType} [Monad m] [MonadError m] [MonadEnv m] [MonadLiftT BaseIO m] (declName : Name) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Lean.addDocStringCore' {m : TypeType} [Monad m] [MonadError m] [MonadEnv m] [MonadLiftT BaseIO m] (declName : Name) (docString? : Option String) :
                      Equations
                      Instances For
                        def Lean.addInheritedDocString {m : TypeType} [Monad m] [MonadError m] [MonadEnv m] (declName target : Name) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          partial def Lean.findInternalDocString? (env : Environment) (declName : Name) (includeBuiltin : Bool := true) :

                          Finds a docstring without performing any alias resolution or enrichment with extra metadata. For Markdown docstrings, the result is a string; for Verso docstrings, it's a VersoDocString.

                          Docstrings to be shown to a user should be looked up with Lean.findDocString? instead.

                          structure Lean.ModuleDoc :
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Lean.getDocStringText {m : TypeType} [Monad m] [MonadError m] (stx : TSyntax `Lean.Parser.Command.docComment) :
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Lean.isVersoDocComment (stx : TSyntax `Lean.Parser.Command.docComment) :

                                Checks whether stx is a docstring that was parsed as Verso rather than Markdown.

                                Equations
                                Instances For

                                  A snippet of a Verso module text.

                                  A snippet consists of text followed by subsections. Because the sequence of snippets that occur in a source file are conceptually a single document, they have a consistent header nesting structure. This means that initial textual content of a snippet is a continuation of the text at the end of the prior snippet.

                                  The actual hierarchical structure of the document is reconstructed from the sequence of snippets.

                                  The terminal nesting of a sequence of snippets is 0 if there are no sections in the sequence. Otherwise, it is one greater than the nesting of the last snippet's last section. The module docstring elaborator maintains the invariant that each snippet's first section's level is at most the terminal nesting of the preceding snippets, and that the level of each section within a snippet is at most one greater than the preceding section's level.

                                  Instances For
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      Instances For
                                        Equations
                                        Instances For
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            Equations
                                            Instances For
                                              Instances For
                                                @[instance_reducible]
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Equations
                                                Instances For
                                                  Equations
                                                  Instances For
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For

                                                          Returns the Verso module docs for the current main module.

                                                          During elaboration, this will return the modules docs that have been added thus far, rather than those for the entire module.

                                                          Equations
                                                          Instances For
                                                            @[deprecated Lean.getMainVersoModuleDocs (since := "2026-01-21")]
                                                            Equations
                                                            Instances For

                                                              Returns all snippets of the Verso module docs from the indicated module, if they exist.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For