diagnose-1.8.2: Beautiful error reporting done easily
Copyright(c) Mesabloo 2021
LicenseBSD3
Stabilityexperimental
PortabilityPortable
Safe HaskellNone
LanguageHaskell2010

Error.Diagnose.Position

Description

 
Synopsis

Documentation

data Position Source #

Contains information about the location of something.

It is best used in a datatype like:

data Located a
  = a :@ Position
  deriving (Show, Eq, Ord, Functor, Traversable)

Columns are specified in amount of Unicode codepoints from the beginning of the line. Lines and columns start at 1.

Constructors

Position 

Fields

  • begin :: (Int, Int)

    The beginning line and column of the span.

  • end :: (Int, Int)

    The end line and column of the span.

  • file :: FilePath

    The file this position spans in.

Instances

Instances details
Eq Position Source # 
Instance details

Defined in Error.Diagnose.Position

Ord Position Source # 
Instance details

Defined in Error.Diagnose.Position

Show Position Source # 
Instance details

Defined in Error.Diagnose.Position

Generic Position Source # 
Instance details

Defined in Error.Diagnose.Position

Associated Types

type Rep Position :: Type -> Type #

Methods

from :: Position -> Rep Position x #

to :: Rep Position x -> Position #

Hashable Position Source # 
Instance details

Defined in Error.Diagnose.Position

Methods

hashWithSalt :: Int -> Position -> Int #

hash :: Position -> Int #

ToJSON Position Source # 
Instance details

Defined in Error.Diagnose.Position

Default Position Source # 
Instance details

Defined in Error.Diagnose.Position

Methods

def :: Position #

Pretty Position Source # 
Instance details

Defined in Error.Diagnose.Position

Methods

pretty :: Position -> Doc ann #

prettyList :: [Position] -> Doc ann #

type Rep Position Source # 
Instance details

Defined in Error.Diagnose.Position

type Rep Position = D1 ('MetaData "Position" "Error.Diagnose.Position" "diagnose-1.8.2-inplace" 'False) (C1 ('MetaCons "Position" 'PrefixI 'True) (S1 ('MetaSel ('Just "begin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: (S1 ('MetaSel ('Just "end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: S1 ('MetaSel ('Just "file") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))))