Documentation

Lean.Data.Lsp.Internal

This file contains types for communication between the watchdog and the workers. These messages are not visible externally to users of the LSP server.

Most reference-related types have custom FromJson/ToJson implementations to reduce the size of the resulting JSON.

Identifier of a reference.

  • const (moduleName identName : String) : RefIdent

    Named identifier. These are used in all references that are globally available.

  • fvar (moduleName id : String) : RefIdent

    Unnamed identifier. These are used for all local references.

Instances For

    Shortened representation of RefIdent for more compact serialization.

    Instances For

      Converts id to its compact serialization representation.

      Equations
      Instances For

        Converts RefIdent from a JSON for RefIdentJsonRepr.

        Equations
        Instances For

          Converts RefIdent to a JSON for RefIdentJsonRepr.

          Equations
          Instances For

            Information about the declaration surrounding a reference.

            • name : String

              Name of the declaration surrounding a reference.

            • range : Range

              Range of the declaration surrounding a reference.

            • selectionRange : Range

              Selection range of the declaration surrounding a reference.

            Instances For

              Denotes the range of a reference, as well as the parent declaration of the reference. If the reference is itself a declaration, then it contains no parent declaration.

              • range : Range

                Range of the reference.

              • parentDecl? : Option ParentDecl

                Parent declaration of the reference. none if the reference is itself a declaration.

              Instances For

                Definition site and usage sites of a reference. Obtained from Lean.Server.RefInfo.

                • definition? : Option Location

                  Definition site of the reference. May be none when we cannot find a definition site.

                • usages : Array Location

                  Usage sites of the reference.

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

                  References from a single module/file

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

                    Used in the $/lean/ileanInfoUpdate and $/lean/ileanInfoFinal watchdog <- worker notifications. Contains the definitions and references of the file managed by a worker.

                    • version : Nat

                      Version of the file these references are from.

                    • references : ModuleRefs

                      All references for the file.

                    Instances For

                      Used in the $/lean/importClosure watchdog <- worker notification. Contains the full import closure of the file managed by a worker.

                      Instances For

                        Used in the $/lean/importClosure watchdog -> worker notification. Informs the worker that one of its dependencies has gone stale and likely needs to be rebuilt.

                        • staleDependency : DocumentUri

                          The dependency that is stale.

                        Instances For