Documentation

Lean.Data.Position

structure Lean.Position :
Instances For
    @[implicit_reducible]
    def Lean.instDecidableEqPosition.decEq (x✝ x✝¹ : Position) :
    Decidable (x✝ = x✝¹)
    Instances For
      @[implicit_reducible]
      @[implicit_reducible]
      @[implicit_reducible]
      Instances For
        @[implicit_reducible]
        @[implicit_reducible]
        @[implicit_reducible]
        structure Lean.FileMap :

        Content of a file together with precalculated positions of newlines.

        • source : String

          The content of the file.

        • positions : Array String.Pos.Raw

          The positions of newline characters. The first entry is always 0 and the last always the index of the last character. In particular, if the last character is a newline, that index will appear twice.

        Instances For
          @[implicit_reducible]
          class Lean.MonadFileMap (m : TypeType) :
          Instances

            The last line should always be positions.size - 1.

            Instances For
              def Lean.FileMap.getLine (fmap : FileMap) (x : Nat) :

              The line numbers associated with the positions of the FileMap. fmap.getLine i is the iᵗʰ entry of #[1, 2, …, n-1, n-1] where n is the size of positions.

              Instances For

                Convert a Lean.Position to a String.Pos.

                Instances For

                  Returns the position of the start of (1-based) line line. This gives the same result as map.ofPosition ⟨line, 0⟩, but is more efficient.

                  Instances For