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
    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

        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.
                    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

                      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

                            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

                              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

                                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

                                  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
                                    @[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