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.

Information about a single import statement.

  • module : String

    Name of the module that is imported.

  • isPrivate : Bool

    Whether the module is being imported via private import.

  • isAll : Bool

    Whether the module is being imported via import all.

  • isMeta : Bool

    Whether the module is being imported via meta import.

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.

    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
        Equations
        • One or more equations did not get rendered due to their size.
        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
                Equations
                • One or more equations did not get rendered due to their size.
                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.
                        Equations
                        • One or more equations did not get rendered due to their size.

                        Used in the $/lean/ileanHeaderInfo watchdog <- worker notifications. Contains the direct imports of the file managed by a worker.

                        • version : Nat

                          Version of the file these imports are from.

                        • directImports : Array ImportInfo

                          Direct imports of this file.

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

                            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
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

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

                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  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
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For

                                        LSP type for Lean.OpenDecl.

                                        • allExcept («namespace» : Name) (exceptions : Array Name) : OpenNamespace

                                          All declarations in «namespace» are opened, except for exceptions.

                                        • renamed («from» to : Name) : OpenNamespace

                                          The declaration «from» is renamed to to.

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

                                            Query in the $/lean/queryModule watchdog <- worker request.

                                            • identifier : String

                                              Identifier (potentially partial) to query.

                                            • openNamespaces : Array OpenNamespace

                                              Namespaces that are open at the position of identifier. Used for accurately matching declarations against identifier in context.

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

                                                Used in the $/lean/queryModule watchdog <- worker request, which is used by the worker to extract information from the .ilean information in the watchdog.

                                                • sourceRequestID : JsonRpc.RequestID

                                                  The request ID in the context of which this worker -> watchdog request was emitted. Used for cancelling this request in the watchdog.

                                                • Module queries for extracting .ilean information in the watchdog.

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

                                                    Result entry of a module query.

                                                    • module : Name

                                                      Module that decl is defined in.

                                                    • decl : Name

                                                      Full name of the declaration that matches the query.

                                                    • isExactMatch : Bool

                                                      Whether this decl matched the query exactly.

                                                    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
                                                          @[reducible, inline]

                                                          Result for a single module query. Identifiers in the response are sorted descendingly by how well they match the query.

                                                          Equations
                                                          Instances For

                                                            Response for the $/lean/queryModule watchdog <- worker request.

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

                                                                Name of a declaration in a given module.

                                                                • module : Name

                                                                  Name of the module that this identifier is in.

                                                                • decl : Name

                                                                  Name of the declaration.

                                                                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